class MinimumCrudGenerator

Public Instance Methods

copy_layout_files() click to toggle source
# File lib/generators/minimum_crud_generator.rb, line 15
def copy_layout_files
  return unless use_sub_layout?

  sub_layout = options[:sub_layout] || 'application'

  %w(_form index show new edit).each do |action|
    copy_file "layouts/#{action}.html.erb",
              File.join('app/views/layouts/minimum_crud', sub_layout, "#{action}.html.erb")
  end
end
generate_controller_files() click to toggle source
# File lib/generators/minimum_crud_generator.rb, line 11
def generate_controller_files
  template 'controller.rb.erb', File.join('app/controllers', class_path, "#{file_name}_controller.rb")
end
generate_jbuilder_files() click to toggle source
# File lib/generators/minimum_crud_generator.rb, line 43
def generate_jbuilder_files
  return unless enable_json?

  @attributes_argument = @attributes.map{|a| ":#{a}"}.join(', ')
  %w(index show).each do |action|
    template "views/#{action}.json.jbuilder.erb",
             File.join('app/views', class_path, file_name, "#{action}.json.jbuilder")
  end
end
generate_view_files() click to toggle source
# File lib/generators/minimum_crud_generator.rb, line 26
def generate_view_files
  @attributes = options[:permit_params] ||
                model.attribute_names - ["id", "created_at", "updated_at"]

  if use_sub_layout?
    %w(_form _index _show).each do |action|
      template "views/with_sub_layout/#{action}.html.erb",
               File.join('app/views', class_path, file_name, "#{action}.html.erb")
    end
  else
    %w(_form index show edit new).each do |action|
      template "views/without_sub_layout/#{action}.html.erb",
               File.join('app/views', class_path, file_name, "#{action}.html.erb")
    end
  end
end

Private Instance Methods

enable_json?() click to toggle source
# File lib/generators/minimum_crud_generator.rb, line 63
def enable_json?
  options[:enable_json]
end
model() click to toggle source
# File lib/generators/minimum_crud_generator.rb, line 55
def model
  class_name.gsub(/\A.*::/, '').classify.constantize
end
use_sub_layout?() click to toggle source
# File lib/generators/minimum_crud_generator.rb, line 59
def use_sub_layout?
  options[:sub_layout] != 'none'
end