Class: AtomicCms::Generators::ScaffoldGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/atomic_cms/scaffold/scaffold_generator.rb

Instance Method Summary collapse

Instance Method Details

#create_migrationObject



43
44
45
# 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_templateObject



29
30
31
32
33
34
# 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_templateObject



22
23
24
25
26
27
# 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_templateObject



14
15
16
17
18
19
20
# 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_templateObject



36
37
38
39
40
41
# 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_routeObject



47
48
49
50
51
52
53
# 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