Class: ExpressSettings::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- ExpressSettings::InstallGenerator
- Defined in:
- lib/generators/express_settings/install/install_generator.rb
Instance Method Summary collapse
- #add_routes ⇒ Object
- #add_settings_to_engine ⇒ Object
- #create_model_controller_and_migration ⇒ Object
- #create_view ⇒ Object
Instance Method Details
#add_routes ⇒ Object
32 33 34 |
# File 'lib/generators/express_settings/install/install_generator.rb', line 32 def add_routes inject_into_file 'config/routes.rb', "resource :setting, only: [:show, :update]\n\n", after: "#{@module_class}::Engine.routes.draw do\n" end |
#add_settings_to_engine ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/generators/express_settings/install/install_generator.rb', line 18 def add_settings_to_engine engine_path = File.join('lib', @module_name, 'engine.rb') engine_settings_class_method = "\n\ndef self.settings\n \#{@module_class}::Setting.first_or_create\nend\n RUBY\n\n inject_into_file engine_path, engine_settings_class_method, after: /module \#{@module_class}/\n prepend_to_file engine_path, \"require 'express_settings'\\n\\n\"\nend\n" |
#create_model_controller_and_migration ⇒ Object
5 6 7 8 9 10 11 12 |
# File 'lib/generators/express_settings/install/install_generator.rb', line 5 def create_model_controller_and_migration @module_name = destination_root.split('/').last @module_class = @module_name.camelize template 'model/model.rb', File.join('app', 'models', @module_name, 'setting.rb') invoke 'active_record:migration', ["create_#{@module_name}_settings", 'data:text'] template 'controller/controller.rb', File.join('app', 'controllers', @module_name, 'admin', 'settings_controller.rb') end |
#create_view ⇒ Object
14 15 16 |
# File 'lib/generators/express_settings/install/install_generator.rb', line 14 def create_view template 'show.html.et.erb', File.join('app', 'views', @module_name, 'admin', 'settings', 'show.html.et') end |