Class: DevshopAdminGenerator

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

Instance Method Summary collapse

Instance Method Details

#create_admin_layoutObject



40
41
42
43
# File 'lib/generators/devshop_admin_generator.rb', line 40

def create_admin_layout
  ##admin layout
  template "admin.html.haml", "app/views/layouts/admin.html.haml"
end

#create_admin_resource_controllersObject



46
47
48
49
50
51
52
53
54
55
# File 'lib/generators/devshop_admin_generator.rb', line 46

def create_admin_resource_controllers
  empty_directory "app/controllers/admin"
  ##create admin application controller
  template "admin_application_controller.rb", "app/controllers/admin/application_controller.rb"

  #iterate over each resource, creating the controller template
  resources.each do |resource|
    template "controller.rb", "app/controllers/admin/#{resource.pluralize}_controller.rb", resource: resource
  end
end

#create_admin_view_sub_foldersObject



9
10
11
12
13
14
15
16
17
18
# File 'lib/generators/devshop_admin_generator.rb', line 9

def create_admin_view_sub_folders
  resources.each do |resource|
    empty_directory "app/views/admin/#{resource.pluralize}"
    template "_form.html.haml", "app/views/admin/#{resource.pluralize}/_form.html.haml", resource: resource
    template "show.html.haml", "app/views/admin/#{resource.pluralize}/show.html.haml", resource: resource
    template "edit.html.haml", "app/views/admin/#{resource.pluralize}/edit.html.haml", resource: resource
    template "new.html.haml", "app/views/admin/#{resource.pluralize}/new.html.haml", resource: resource
    template "index.html.haml", "app/views/admin/#{resource.pluralize}/index.html.haml", resource: resource
  end
end

#create_name_spaced_routesObject



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/generators/devshop_admin_generator.rb', line 21

def create_name_spaced_routes
  #remove example code which screws up the route insert
  gsub_file "config/routes.rb", /#   namespace :admin do/, ""
 
  #add resources inside admin namespace 
  insert_into_file "config/routes.rb", after: "namespace :admin do\n" do 

    my_string = "\t\tresources " 

    resources.each do |resource|
      my_string.concat ":#{resource.pluralize}"
      my_string.concat ", " unless resources.last == resource
    end 

    my_string.concat "\n"
  end

end