Class: HerokuTool::Configuration
- Inherits:
-
Object
- Object
- HerokuTool::Configuration
- Defined in:
- lib/heroku_tool/configuration.rb
Instance Method Summary collapse
- #after_deploying(_instance, target, version, description: nil) ⇒ Object
- #after_sync_down(instance) ⇒ Object
- #after_sync_to(instance, target) ⇒ Object
- #app_revision_env_var ⇒ Object
- #before_deploying(_instance, target, version, description: nil) ⇒ Object
- #maintenance_mode_env_var ⇒ Object
- #notify_of_deploy_tracking(instance, deploy_ref:, revision:) ⇒ Object
- #platform_maintenance_urls(asset_host) ⇒ Object
Instance Method Details
#after_deploying(_instance, target, version, description: nil) ⇒ Object
26 27 28 29 |
# File 'lib/heroku_tool/configuration.rb', line 26 def (_instance, target, version, description: nil) puts "deployed #{version} to #{target.name}" puts " #{description}" if description end |
#after_sync_down(instance) ⇒ Object
39 40 41 42 43 |
# File 'lib/heroku_tool/configuration.rb', line 39 def after_sync_down(instance) # could add source ? instance.puts_and_system "rails db:migrate" instance.puts_and_system "rails db:test:prepare" end |
#after_sync_to(instance, target) ⇒ Object
45 46 47 48 |
# File 'lib/heroku_tool/configuration.rb', line 45 def after_sync_to(instance, target) # could add source ? instance.puts_and_system %(heroku run rails db:migrate -a #{target.heroku_app}) end |
#app_revision_env_var ⇒ Object
17 18 19 |
# File 'lib/heroku_tool/configuration.rb', line 17 def app_revision_env_var # alternatively if you want you can set this as APP_REVISION (for app-signal) or HEROKU_SLUG_COMMIT (see https://devcenter.heroku.com/articles/dyno-metadata) end |
#before_deploying(_instance, target, version, description: nil) ⇒ Object
21 22 23 24 |
# File 'lib/heroku_tool/configuration.rb', line 21 def (_instance, target, version, description: nil) puts "about to deploy #{version} to #{target.name}" puts " #{description}" if description end |
#maintenance_mode_env_var ⇒ Object
13 14 15 |
# File 'lib/heroku_tool/configuration.rb', line 13 def maintenance_mode_env_var "X_HEROKU_TOOL_MAINTENANCE_MODE" end |
#notify_of_deploy_tracking(instance, deploy_ref:, revision:) ⇒ Object
31 32 33 34 35 36 37 |
# File 'lib/heroku_tool/configuration.rb', line 31 def notify_of_deploy_tracking(instance, deploy_ref:, revision:) if ENV["BUGSNAG_API_KEY"].present? instance.notify_bugsnag_of_deploy_tracking(deploy_ref:, revision:) else puts "can't notify of deploy tracking: env var not present: BUGSNAG_API_KEY" end end |
#platform_maintenance_urls(asset_host) ⇒ Object
5 6 7 8 9 10 11 |
# File 'lib/heroku_tool/configuration.rb', line 5 def platform_maintenance_urls(asset_host) time = Time.now.strftime("%Y%m%d-%H%M-%S") { ERROR_PAGE_URL: "https://#{asset_host}/platform_error/#{time}", MAINTENANCE_PAGE_URL: "https://#{asset_host}/platform_maintenance/#{time}" } end |