Class: ExpressAdmin::Generators::ScaffoldGenerator
- Inherits:
-
Rails::Generators::ScaffoldGenerator
- Object
- Rails::Generators::ScaffoldGenerator
- ExpressAdmin::Generators::ScaffoldGenerator
- Defined in:
- lib/generators/express_admin/scaffold/scaffold_generator.rb
Instance Attribute Summary collapse
-
#resource_class ⇒ Object
readonly
Returns the value of attribute resource_class.
-
#view_path ⇒ Object
readonly
Returns the value of attribute view_path.
Instance Method Summary collapse
- #add_menu_item ⇒ Object
- #add_route ⇒ Object
- #copy_view_files ⇒ Object
- #create_root_folder ⇒ Object
- #generate_controller ⇒ Object
Instance Attribute Details
#resource_class ⇒ Object (readonly)
Returns the value of attribute resource_class.
7 8 9 |
# File 'lib/generators/express_admin/scaffold/scaffold_generator.rb', line 7 def resource_class @resource_class end |
#view_path ⇒ Object (readonly)
Returns the value of attribute view_path.
7 8 9 |
# File 'lib/generators/express_admin/scaffold/scaffold_generator.rb', line 7 def view_path @view_path end |
Instance Method Details
#add_menu_item ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/generators/express_admin/scaffold/scaffold_generator.rb', line 41 def path = if namespaced? "#{controller_file_name}_path" else "admin_#{controller_file_name}_path" end = %Q( - title: '#{controller_file_name.titleize}' path: '#{path}' ) = Rails.root ? "#{Rails.root}/config/menu.yml": "config/menu.yml" if File.exists?() inject_into_file , , after: 'items:' end end |
#add_route ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/generators/express_admin/scaffold/scaffold_generator.rb', line 27 def add_route route_path = Rails.root ? "#{Rails.root}/config/routes.rb": "config/routes.rb" if open(route_path).grep("scope '#{project_path}'").any? inject_into_file 'config/routes.rb', " resources :#{controller_file_name}\n", after: "scope '#{project_path}' do\n" else admin_route = <<-EOD resources :#{controller_file_name}, except: [:edit] EOD inject_into_file 'config/routes.rb', admin_route, after: "#{namespaced?}::Engine.routes.draw do\n" end end |
#copy_view_files ⇒ Object
16 17 18 19 20 |
# File 'lib/generators/express_admin/scaffold/scaffold_generator.rb', line 16 def copy_view_files available_views.each do |view| template "#{view}.html.et.erb", File.join(admin_view_path, "#{view}.html.et") end end |
#create_root_folder ⇒ Object
12 13 14 |
# File 'lib/generators/express_admin/scaffold/scaffold_generator.rb', line 12 def create_root_folder empty_directory admin_view_path end |
#generate_controller ⇒ Object
22 23 24 25 |
# File 'lib/generators/express_admin/scaffold/scaffold_generator.rb', line 22 def generate_controller controller_file_path = File.join(["app/controllers", project_name, "#{controller_file_name}_controller.rb"].compact) template "controller/controller.rb", controller_file_path end |