Class: Lita::Handlers::RestartElvis
- Inherits:
-
Handler
- Object
- Handler
- Lita::Handlers::RestartElvis
- Defined in:
- lib/lita/handlers/restart_elvis.rb
Constant Summary collapse
- BLOG_URL =
'https://whatsbradeating.tumblr.com'.freeze
Instance Method Summary collapse
- #dyno_info(app_name) ⇒ Object
- #heroku ⇒ Object
- #restart_bot(response) ⇒ Object
- #restart_dyno_named(dyno_name) ⇒ Object
Instance Method Details
#dyno_info(app_name) ⇒ Object
21 22 23 24 25 |
# File 'lib/lita/handlers/restart_elvis.rb', line 21 def dyno_info(app_name) infos = heroku.dyno.list(app_name) infos.map { |i| "#{i.fetch('name')}\t#{i.fetch('state')}\tboot time: #{i.fetch('created_at')}" }.join("\n") end |
#heroku ⇒ Object
13 14 15 |
# File 'lib/lita/handlers/restart_elvis.rb', line 13 def heroku @_heroku ||= PlatformAPI.connect_oauth(ENV.fetch('HEROKU_OAUTH_TOKEN')) end |
#restart_bot(response) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/lita/handlers/restart_elvis.rb', line 27 def restart_bot(response) app_name = ENV.fetch('HEROKU_RESTARTABLE_APP_NAME') response.reply 'Please hold...' restart_dyno_named app_name sleep 5 msg = dyno_info(app_name) response.reply "Done. Status: #{msg}" end |
#restart_dyno_named(dyno_name) ⇒ Object
17 18 19 |
# File 'lib/lita/handlers/restart_elvis.rb', line 17 def restart_dyno_named(dyno_name) result = heroku.dyno.restart_all(dyno_name) end |