Class: Workarea::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Workarea::InstallGenerator
- Defined in:
- lib/generators/workarea/install/install_generator.rb
Instance Method Summary collapse
- #add_requires ⇒ Object
- #add_seeds ⇒ Object
- #configure_sidekiq ⇒ Object
- #create_initializer ⇒ Object
- #mount_routes ⇒ Object
- #remove_favicon ⇒ Object
- #update_test_helper ⇒ Object
Instance Method Details
#add_requires ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/generators/workarea/install/install_generator.rb', line 6 def add_requires require_workarea = <<~CODE # Workarea must be required before other gems to ensure control over Rails.env # for running tests require 'workarea/core' require 'workarea/admin' require 'workarea/storefront' CODE inject_into_file( 'config/application.rb', require_workarea, before: 'Bundler.require(*Rails.groups)' ) end |
#add_seeds ⇒ Object
47 48 49 50 51 52 |
# File 'lib/generators/workarea/install/install_generator.rb', line 47 def add_seeds create_file 'db/seeds.rb', <<~CODE require 'workarea/seeds' Workarea::Seeds.run CODE end |
#configure_sidekiq ⇒ Object
35 36 37 38 |
# File 'lib/generators/workarea/install/install_generator.rb', line 35 def configure_sidekiq environment "require 'sidekiq/testing/inline'\n", env: 'development' environment '# Run Sidekiq tasks synchronously so that Sidekiq is not required in Development', env: 'development' end |
#create_initializer ⇒ Object
31 32 33 |
# File 'lib/generators/workarea/install/install_generator.rb', line 31 def create_initializer template('initializer.rb.erb', 'config/initializers/workarea.rb') end |
#mount_routes ⇒ Object
24 25 26 27 28 29 |
# File 'lib/generators/workarea/install/install_generator.rb', line 24 def mount_routes route "mount Workarea::Storefront::Engine => '/', as: 'storefront'" route "mount Workarea::Admin::Engine => '/admin', as: 'admin'" route "mount Workarea::Api::Engine => '/api', as: 'api'" if Workarea::Plugin.installed?(:api) route "mount Workarea::Core::Engine => '/'" end |
#remove_favicon ⇒ Object
54 55 56 |
# File 'lib/generators/workarea/install/install_generator.rb', line 54 def remove_favicon remove_file 'public/favicon.ico' end |
#update_test_helper ⇒ Object
40 41 42 43 44 45 |
# File 'lib/generators/workarea/install/install_generator.rb', line 40 def update_test_helper inject_into_file( 'test/test_helper.rb', "\nrequire 'workarea/test_help'", after: "require 'rails/test_help'" ) end |