Class: HerokuTool::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/heroku_tool/configuration.rb

Instance Method Summary collapse

Instance Method Details

#after_deploying(_instance, target, version, description: nil) ⇒ Object



26
27
28
29
# File 'lib/heroku_tool/configuration.rb', line 26

def after_deploying(_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_varObject



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 before_deploying(_instance, target, version, description: nil)
  puts "about to deploy #{version} to #{target.name}"
  puts "         #{description}" if description
end

#maintenance_mode_env_varObject



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