class Blueberry::Generators::FormGenerator
Public Class Methods
new(args, *options)
click to toggle source
Calls superclass method
# File lib/generators/blueberry/form/form_generator.rb, line 27 def initialize(args, *options) super end
Protected Class Methods
check_class_collision(options={})
click to toggle source
# File lib/generators/blueberry/form/form_generator.rb, line 101 def self.check_class_collision(options={}) define_method :check_class_collision do name = if self.respond_to?(:controller_class_name) controller_class_name elsif self.respond_to?(:controller_class_name) controller_class_name else class_name end class_collisions "#{name}#{options[:suffix]}" end end
Public Instance Methods
copy_view_files()
click to toggle source
# File lib/generators/blueberry/form/form_generator.rb, line 43 def copy_view_files available_views.each do |view| filename = filename_with_extensions(view) template_path = "views/#{handler}/#{filename}" template template_path, File.join("app/views", controller_file_path, filename) end template "views/#{handler}/create.js.erb", File.join("app/views", controller_file_path, "create.js.erb") render_info_banner end
create_controller_files()
click to toggle source
# File lib/generators/blueberry/form/form_generator.rb, line 35 def create_controller_files template "controllers/railties/controller.rb.erb", File.join('app/controllers', class_path, "#{controller_file_name}_controller.rb") end
create_root_folder()
click to toggle source
# File lib/generators/blueberry/form/form_generator.rb, line 39 def create_root_folder empty_directory File.join("app/views", controller_file_path) end
generate_model()
click to toggle source
# File lib/generators/blueberry/form/form_generator.rb, line 31 def generate_model invoke "active_record:model", [name, *attributes.map { |c| "#{c.name}:#{c.type}" }], migration: true end
Protected Instance Methods
available_views()
click to toggle source
# File lib/generators/blueberry/form/form_generator.rb, line 81 def available_views %w(_thanks _state _form) end
filename_with_extensions(name)
click to toggle source
# File lib/generators/blueberry/form/form_generator.rb, line 97 def filename_with_extensions(name) [name, format, handler].compact.join(".") end
format()
click to toggle source
# File lib/generators/blueberry/form/form_generator.rb, line 85 def format :html end
handler()
click to toggle source
# File lib/generators/blueberry/form/form_generator.rb, line 89 def handler :slim end
migration_attributes()
click to toggle source
# File lib/generators/blueberry/form/form_generator.rb, line 93 def migration_attributes attributes.collect { |c| "'#{c.name}:#{c.type}'" }.join(',') end
parent_controller_class_name()
click to toggle source
# File lib/generators/blueberry/form/form_generator.rb, line 77 def parent_controller_class_name options[:parent_controller].capitalize end