class NinjaModel::Generators::ScaffoldGenerator
Attributes
controller_actions[R]
Public Class Methods
new(*args, &block)
click to toggle source
Calls superclass method
NinjaModel::Generators::ModelGenerator::new
# File lib/generators/ninja_model/scaffold/scaffold_generator.rb, line 8 def initialize(*args, &block) super @controller_actions = [] actions.each do |action| end end
Public Instance Methods
create_controller()
click to toggle source
# File lib/generators/ninja_model/scaffold/scaffold_generator.rb, line 17 def create_controller template 'controller.rb', "app/controllers/#{plural_name}_controller.rb" unless options.skip_helper? template 'helper.rb', "app/helpers/#{plural_name}_helper.rb"File.join(plugin_path, 'app/helpers', "#{plural_file_path}_helper.rb") end controller_actions.each do |action| if %w[index show new edit].include?(action) template "views/#{action}.html.erb", File.join(plugin_path, "app/views/#{plural_name}/#{action}.html.erb") end end template 'views/_form.html.erb', File.join(plugin_path, "app/views/#{plural_name}/_form.html.erb") if class_path.length < 0 plugin_route("resources #{plural_file_name.to_sym.inspect}, :controller => '#{(class_path + [plural_name]).join('/')}") else plugin_route("resources #{plural_name.to_sym.inspect}") end end
Protected Instance Methods
action?(name)
click to toggle source
# File lib/generators/ninja_model/scaffold/scaffold_generator.rb, line 60 def action?(name) controller_actions.include? name.to_s end
actions?(*names)
click to toggle source
# File lib/generators/ninja_model/scaffold/scaffold_generator.rb, line 64 def actions?(*names) names.all? { |name| action? name } end
all_actions()
click to toggle source
# File lib/generators/ninja_model/scaffold/scaffold_generator.rb, line 56 def all_actions %w[index show new create edit update destroy] end
controller_methods(dir)
click to toggle source
# File lib/generators/ninja_model/scaffold/scaffold_generator.rb, line 46 def controller_methods(dir) controller_actions.map do |action| read_template("#{dir}/#{action}.rb") end.join("\n").strip end
read_template(relative_path)
click to toggle source
# File lib/generators/ninja_model/scaffold/scaffold_generator.rb, line 52 def read_template(relative_path) ERB.new(File.read(find_in_source_paths(relative_path)), nil, '-').result(binding) end