Class: Maquina::Generators::MissionControlJobsGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Maquina::Generators::MissionControlJobsGenerator
- Defined in:
- lib/generators/maquina/mission_control_jobs/mission_control_jobs_generator.rb
Instance Method Summary collapse
-
#add_gem ⇒ Object
4.
-
#add_route ⇒ Object
5.
-
#copy_layout ⇒ Object
7.
-
#copy_views ⇒ Object
8.
-
#create_admin_navigation ⇒ Object
6.
-
#create_backstage_controller ⇒ Object
1.
-
#create_helper ⇒ Object
2.
-
#create_initializer ⇒ Object
3.
-
#run_bundle_install ⇒ Object
9.
-
#show_post_install ⇒ Object
10.
Instance Method Details
#add_gem ⇒ Object
-
Add gem to Gemfile
40 41 42 43 44 45 46 47 48 |
# File 'lib/generators/maquina/mission_control_jobs/mission_control_jobs_generator.rb', line 40 def add_gem gemfile_path = File.join(destination_root, "Gemfile") if File.exist?(gemfile_path) content = File.read(gemfile_path) unless content.include?('gem "mission_control-jobs"') append_to_file "Gemfile", "\ngem \"mission_control-jobs\"\n" end end end |
#add_route ⇒ Object
-
Routes
51 52 53 54 55 |
# File 'lib/generators/maquina/mission_control_jobs/mission_control_jobs_generator.rb', line 51 def add_route mount_path = "#{[:prefix]}/mission_control_jobs" route "mount MissionControl::Jobs::Engine, at: \"#{mount_path}\"" end |
#copy_layout ⇒ Object
-
Layout
66 67 68 |
# File 'lib/generators/maquina/mission_control_jobs/mission_control_jobs_generator.rb', line 66 def copy_layout layout_files.each { |f| copy_file f, f } end |
#copy_views ⇒ Object
-
Custom views
71 72 73 74 75 |
# File 'lib/generators/maquina/mission_control_jobs/mission_control_jobs_generator.rb', line 71 def copy_views return unless [:copy_views] view_files.each { |f| copy_file f, f } end |
#create_admin_navigation ⇒ Object
-
Admin navigation
58 59 60 61 62 63 |
# File 'lib/generators/maquina/mission_control_jobs/mission_control_jobs_generator.rb', line 58 def nav_path = "app/views/layouts/_admin_navigation.html.erb" return if File.exist?(File.join(destination_root, nav_path)) template "app/views/layouts/_admin_navigation.html.erb.tt", nav_path end |
#create_backstage_controller ⇒ Object
-
BackstageController
20 21 22 23 24 25 |
# File 'lib/generators/maquina/mission_control_jobs/mission_control_jobs_generator.rb', line 20 def create_backstage_controller backstage_path = "app/controllers/backstage_controller.rb" return if File.exist?(File.join(destination_root, backstage_path)) template "app/controllers/backstage_controller.rb.tt", backstage_path end |
#create_helper ⇒ Object
-
Helper
28 29 30 31 |
# File 'lib/generators/maquina/mission_control_jobs/mission_control_jobs_generator.rb', line 28 def create_helper copy_file "app/helpers/mission_control_helper.rb", "app/helpers/mission_control_helper.rb" end |
#create_initializer ⇒ Object
-
Initializer
34 35 36 37 |
# File 'lib/generators/maquina/mission_control_jobs/mission_control_jobs_generator.rb', line 34 def create_initializer template "config/initializers/mission_control.rb.tt", "config/initializers/mission_control.rb" end |
#run_bundle_install ⇒ Object
-
Bundle install
78 79 80 81 82 83 84 |
# File 'lib/generators/maquina/mission_control_jobs/mission_control_jobs_generator.rb', line 78 def run_bundle_install return unless rails_app? Bundler.with_unbundled_env do system("bundle install", chdir: destination_root) end end |
#show_post_install ⇒ Object
-
Post-install message
87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/generators/maquina/mission_control_jobs/mission_control_jobs_generator.rb', line 87 def show_post_install return if [:quiet] say "" say "Mission Control Jobs has been installed!", :green say "" say "Configuration:", :yellow say " - Set credentials: bin/rails credentials:edit" say " backstage:" say " username: your_user" say " password: your_password" say " - Or set ENV vars: #{[:user_env_var]}, #{[:password_env_var]}" say "" end |