Class: Lita::Handlers::RestartElvis

Inherits:
Handler
  • Object
show all
Defined in:
lib/lita/handlers/restart_elvis.rb

Constant Summary collapse

BLOG_URL =
'https://whatsbradeating.tumblr.com'.freeze

Instance Method Summary collapse

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

#herokuObject



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