class Draft::ModelGenerator

Public Instance Methods

generate_active_admin() click to toggle source
# File lib/generators/draft/model/model_generator.rb, line 13
def generate_active_admin
  if Gem.loaded_specs.has_key? "activeadmin"
    invoke "active_admin:resource", [singular_table_name]

    permit_active_admin_params
  end
end
generate_model() click to toggle source
# File lib/generators/draft/model/model_generator.rb, line 9
def generate_model
  invoke "model"
end

Private Instance Methods

insert_code(file_name) click to toggle source
# File lib/generators/draft/model/model_generator.rb, line 31
def insert_code(file_name)
  sentinel = /.*ActiveAdmin.register.*do.*/
  inside "app" do
    inside "admin" do
      insert_into_file "#{file_name}.rb", after: sentinel do
        "\n  permit_params #{attributes_names.map { |name| ":#{name}" }.join(', ')}\n"
      end
    end
  end
end
permit_active_admin_params() click to toggle source
# File lib/generators/draft/model/model_generator.rb, line 23
def permit_active_admin_params
  if File.exist?("app/admin/#{singular_table_name}.rb")
    insert_code(singular_table_name)
  elsif File.exist?("app/admin/#{plural_table_name}.rb")
    insert_code(plural_table_name)
  end
end