Class: Lita::Handlers::PingMe

Inherits:
Handler
  • Object
show all
Defined in:
lib/lita/handlers/ping-me.rb

Constant Summary collapse

SLEEP_TIME =
20
FIVE_MINUTES =
5
TWELVE_HOURS =
720

Instance Method Summary collapse

Instance Method Details

#check_for_errors(_) ⇒ Object



64
65
66
67
68
# File 'lib/lita/handlers/ping-me.rb', line 64

def check_for_errors(_)
  errors.each do |url, status|
    send_message("#{url} is down: #{status.inspect}")
  end
end

#notify(request, response) ⇒ Object



70
71
72
73
74
75
76
# File 'lib/lita/handlers/ping-me.rb', line 70

def notify(request, response)
  return if redis.get("sleep") == 'true'
  id = request.env["router.params"][:id]
  msg = id.split('_').join(" ")
  send_message("#{msg}")
  response.body << "#{msg}"
end

#sleep(response) ⇒ Object



53
54
55
56
57
58
59
60
61
62
# File 'lib/lita/handlers/ping-me.rb', line 53

def sleep(response)
  redis.set("sleep", true)
  time = parse_time(response.args.first.to_i)
  timer.stop
  after(time) do
    redis.set("sleep", false)
    start_pinging
  end
  response.reply("Sure, will sleep for #{seconds_to_minutes(time)} minutes")
end

#wake(_) ⇒ Object



78
79
80
# File 'lib/lita/handlers/ping-me.rb', line 78

def wake(_)
  redis.set("sleep", false)
end