class NinjaModel::Generators::ScaffoldGenerator

Attributes

controller_actions[R]

Public Class Methods

new(*args, &block) click to toggle source
# 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