Class: AdminPanel::Generators::ScaffoldGenerator
- Inherits:
-
Rails::Generators::NamedBase
- Object
- Rails::Generators::NamedBase
- AdminPanel::Generators::ScaffoldGenerator
- Includes:
- Rails::Generators::ResourceHelpers
- Defined in:
- lib/generators/admin_panel/scaffold/scaffold_generator.rb
Instance Method Summary collapse
- #copy_view_files ⇒ Object
- #create_controller_files ⇒ Object
- #create_model ⇒ Object
- #create_root_folder ⇒ Object
- #create_test_files ⇒ Object
-
#initialize(args, *options) ⇒ ScaffoldGenerator
constructor
:nodoc:.
Constructor Details
#initialize(args, *options) ⇒ ScaffoldGenerator
:nodoc:
26 27 28 |
# File 'lib/generators/admin_panel/scaffold/scaffold_generator.rb', line 26 def initialize(args, *) #:nodoc: super end |
Instance Method Details
#copy_view_files ⇒ Object
61 62 63 64 65 66 |
# File 'lib/generators/admin_panel/scaffold/scaffold_generator.rb', line 61 def copy_view_files available_views.each do |view| filename = filename_with_extensions(view) template "views/#{handler}/#{filename}.erb", File.join("app/views", prefix, controller_file_path, filename) end end |
#create_controller_files ⇒ Object
45 46 47 |
# File 'lib/generators/admin_panel/scaffold/scaffold_generator.rb', line 45 def create_controller_files template "controllers/controller.rb.erb", File.join('app/controllers', prefix, class_path, "#{controller_file_name}_controller.rb") end |
#create_model ⇒ Object
34 35 36 37 38 39 40 41 42 43 |
# File 'lib/generators/admin_panel/scaffold/scaffold_generator.rb', line 34 def create_model # There is no sane way of converting Rails::Generators::GeneratedAttribute back to string attributes_string = attributes.map do |attr| index = (attr.instance_variable_get("@has_uniq_index") && ':uniq') || (attr.instance_variable_get("@has_index") && ':index') || '' "#{attr.name}:#{attr.type}#{index}" end generate 'model', class_name, *attributes_string end |
#create_root_folder ⇒ Object
57 58 59 |
# File 'lib/generators/admin_panel/scaffold/scaffold_generator.rb', line 57 def create_root_folder empty_directory File.join("app/views", prefix, controller_file_path) end |
#create_test_files ⇒ Object
49 50 51 |
# File 'lib/generators/admin_panel/scaffold/scaffold_generator.rb', line 49 def create_test_files template "tests/test_unit/functional_test.rb.erb", File.join("test/controllers", prefix, controller_class_path, "#{controller_file_name}_controller_test.rb") end |