Class: Lita::Handlers::GithubStatus

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

Constant Summary collapse

BASE_URL =
'https://status.github.com/api'

Instance Method Summary collapse

Instance Method Details

#status(response) ⇒ Object



10
11
12
13
14
15
16
17
18
# File 'lib/lita/handlers/github_status.rb', line 10

def status(response)
  data = MultiJson.load(http.get(BASE_URL + '/status.json').body)

  now = Time.now
  updated = Time.parse data['last_updated']
  seconds_ago = (now - updated).round

  response.reply "Status: #{data['status']} (#{seconds_ago} seconds ago)"
end

#status_last_message(response) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/lita/handlers/github_status.rb', line 20

def status_last_message(response)
  data = MultiJson.load(http.get(BASE_URL + '/last-message.json').body)

  response.reply "Status: #{data['status']}\n" \
                 "Message: #{data['body']}\n" \
                 "Time: #{Time.parse data['created_on']}"
end

#status_messages(response) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
# File 'lib/lita/handlers/github_status.rb', line 28

def status_messages(response)
  data = MultiJson.load(http.get(BASE_URL + '/messages.json').body)

  replies = data.map do |message|
    "[#{message['status']}] #{message['body']} (#{Time.parse message['created_on']})"
  end

  replies.each do |reply|
    response.reply reply
  end
end