journalduhacker/extras/pushover.rb

37 lines
867 B
Ruby

class Pushover
# these need to be overridden in config/initializers/production.rb
cattr_accessor :API_TOKEN
cattr_accessor :SUBSCRIPTION_CODE
def self.enabled?
self.API_TOKEN.present?
end
def self.push(user, params)
if !self.enabled?
return
end
begin
if params[:message].to_s == ""
params[:message] = "(No message)"
end
s = Sponge.new
s.fetch("https://api.pushover.net/1/messages.json", :post, {
:token => self.API_TOKEN,
:user => user,
}.merge(params))
rescue => e
Rails.logger.error "error sending to pushover: #{e.inspect}"
end
end
def self.subscription_url(params)
u = "https://pushover.net/subscribe/#{self.SUBSCRIPTION_CODE}"
u << "?success=#{CGI.escape(params[:success])}"
u << "&failure=#{CGI.escape(params[:failure])}"
u
end
end