3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/argosnap/notifications/pushover.rb', line 3
def self.send(token, user, message, log, amount)
begin
sleep(5)
url = URI.parse("https://api.pushover.net/1/messages.json")
req = Net::HTTP::Post.new(url.path)
req.set_form_data({
token: token,
user: user,
message: message
})
res = Net::HTTP.new(url.host, url.port)
res.use_ssl = true
res.verify_mode = OpenSSL::SSL::VERIFY_PEER
res.start do |http|
status = http.request(req).code
if status == '200'
log.info('Notification sent via Pushover!')
log.info("Current amount of picoUSD: #{amount}")
elsif (400...500).to_a.include?(status)
log.error("Please revise your Pushover credentials. API request failed.")
else
log.error("Request returned status code: #{status}, Pushover notification probably failed.")
end
end
end
rescue SocketError
log.error("No internet connection available, Pushover notification failed.")
end
|