# File lib/generators/formtastic/form/form_generator.rb, line 21 def create_or_show @attributes = self.columns if @attributes.empty? if options[:partial] empty_directory "app/views/#{controller_path}" template "_form.html.#{template_type}", "app/views/#{controller_path}/_form.html.#{template_type}" else template = File.read("#{self.class.source_root}/_form.html.#{template_type}") erb = ERB.new(template, nil, '-') generated_code = erb.result(binding).strip rescue nil puts "# ---------------------------------------------------------" puts "# GENERATED FORMTASTIC CODE" puts "# ---------------------------------------------------------" puts puts generated_code || "Nothing could be generated - model exists?" puts puts "# ---------------------------------------------------------" puts "Copied to clipboard - just paste it!" if save_to_clipboard(generated_code) end end
# File lib/generators/formtastic/form/form_generator.rb, line 59 def columns @columns ||= self.name.camelize.constantize.content_columns.reject { |column| IGNORED_COLUMNS.include?(column.name.to_sym) } end
# File lib/generators/formtastic/form/form_generator.rb, line 51 def controller_path @controller_path ||= if options[:controller] options[:controller].underscore else name.underscore.pluralize end end
# File lib/generators/formtastic/form/form_generator.rb, line 63 def save_to_clipboard(data) return unless data begin case RUBY_PLATFORM when /win32/ require 'win32/clipboard' ::Win32::Clipboard.data = data when /darwin/ # mac %xecho "#{data}" | pbcopy` else # linux/unix %xecho "#{data}" | xsel --clipboard` || %xecho "#{data}" | xclip` end rescue LoadError false else true end end
# File lib/generators/formtastic/form/form_generator.rb, line 47 def template_type @template_type ||= options[:haml] ? :haml : :erb end