Class: Stoplight::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Stoplight::Generators::InstallGenerator
- Defined in:
- lib/generators/stoplight/install/install_generator.rb
Overview
:nodoc:
Constant Summary collapse
- ROUTES_PATH =
"config/routes.rb"- STOPLIGHT_CONFIG_TEMPLATE =
"stoplight.rb.erb"- INITIALIZERS_PATH =
"config/initializers"- AFTER_INSTALL_NOTIFICATION =
<<~TEXT \nThank you for using stoplight! Now to finish configuration: * Run `bundle` from the project root to install new gems * Go to 'config/initializers/stoplight.rb' to set up connection to Redis.\n TEXT
- STOPLIGHT_ADMIN_ROUTE =
<<-RUBY mount Stoplight::Admin => '/stoplights' RUBY
- STOPLIGHT_AUTH =
<<-RUBY Stoplight::Admin.use(Rack::Auth::Basic) do |username, password| username == ENV["STOPLIGHT_ADMIN_USERNAME"] && password == ENV["STOPLIGHT_ADMIN_PASSWORD"] end RUBY
Instance Method Summary collapse
- #generate_admin_panel ⇒ Object
- #generate_initializer ⇒ Object
- #generate_redis_gem ⇒ Object
- #generate_sinatra_deps ⇒ Object
- #redis_configuration_notification ⇒ Object
Instance Method Details
#generate_admin_panel ⇒ Object
67 68 69 70 71 72 73 |
# File 'lib/generators/stoplight/install/install_generator.rb', line 67 def generate_admin_panel if [:with_admin_panel] route_config = "#{STOPLIGHT_AUTH}#{STOPLIGHT_ADMIN_ROUTE}\n" inject_into_file ROUTES_PATH, route_config, after: ".application.routes.draw do\n" end end |
#generate_initializer ⇒ Object
62 63 64 65 |
# File 'lib/generators/stoplight/install/install_generator.rb', line 62 def generate_initializer initializer_template = STOPLIGHT_CONFIG_TEMPLATE copy_file initializer_template, "#{INITIALIZERS_PATH}/stoplight.rb" end |
#generate_redis_gem ⇒ Object
44 45 46 47 48 49 |
# File 'lib/generators/stoplight/install/install_generator.rb', line 44 def generate_redis_gem if [:with_admin_panel] conf = "\ngem 'redis'" inject_into_file "Gemfile", conf end end |
#generate_sinatra_deps ⇒ Object
51 52 53 54 55 56 57 58 59 60 |
# File 'lib/generators/stoplight/install/install_generator.rb', line 51 def generate_sinatra_deps if [:with_admin_panel] conf = <<~RUBY gem 'sinatra', require: false gem 'sinatra-contrib', require: false RUBY inject_into_file "Gemfile", "\n#{conf}" end end |
#redis_configuration_notification ⇒ Object
75 76 77 |
# File 'lib/generators/stoplight/install/install_generator.rb', line 75 def redis_configuration_notification print AFTER_INSTALL_NOTIFICATION end |