class AtomicCms::Generators::ScaffoldGenerator

Public Instance Methods

create_migration() click to toggle source
# File lib/generators/atomic_cms/scaffold/scaffold_generator.rb, line 43
def create_migration
  generate "migration", "create#{@scaffold.model_name} name:string content:text"
end
install_admin_template() click to toggle source
# File lib/generators/atomic_cms/scaffold/scaffold_generator.rb, line 29
def install_admin_template
  create_template(
    template_name: "admin.erb",
    full_path: "app/admin/#{@scaffold.model_file_name}.rb"
  )
end
install_controller_template() click to toggle source
# File lib/generators/atomic_cms/scaffold/scaffold_generator.rb, line 22
def install_controller_template
  create_template(
    template_name: "controller.erb",
    full_path: controller_template_name
  )
end
install_model_template() click to toggle source
# File lib/generators/atomic_cms/scaffold/scaffold_generator.rb, line 14
def install_model_template
  setup_scaffold
  create_template(
    template_name: "model.erb",
    full_path: "app/models/#{@scaffold.model_file_name}.rb"
  )
end
install_show_view_template() click to toggle source
# File lib/generators/atomic_cms/scaffold/scaffold_generator.rb, line 36
def install_show_view_template
  create_template(
    template_name: "show.html.slim",
    full_path: "app/views/#{@scaffold.view_folder}/show.html.slim"
  )
end
set_route() click to toggle source
# File lib/generators/atomic_cms/scaffold/scaffold_generator.rb, line 47
def set_route
  inject_into_file(
    "config/routes.rb",
    "\n  resources :#{@scaffold.controller_file_name}\n",
    after: %r{/atomic_cms"}
  )
end

Private Instance Methods

controller_template_name() click to toggle source
# File lib/generators/atomic_cms/scaffold/scaffold_generator.rb, line 71
def controller_template_name
  "app/controllers/#{@scaffold.controller_file_name}_controller.rb"
end
create_template(options) click to toggle source
# File lib/generators/atomic_cms/scaffold/scaffold_generator.rb, line 67
def create_template(options)
  template(options[:template_name], options[:full_path])
end
setup_scaffold() click to toggle source
# File lib/generators/atomic_cms/scaffold/scaffold_generator.rb, line 57
def setup_scaffold
  @scaffold = OpenStruct.new(
    model_name: model_name.singularize.titlecase,
    model_file_name: model_name.singularize.downcase.underscore,
    controller_name: model_name.pluralize.titlecase,
    controller_file_name: model_name.pluralize.downcase,
    view_folder: model_name.singularize.downcase.underscore
  )
end