class Push4::Notification

Attributes

action_loc_key[RW]
icon_url[RW]
long_message[RW]
long_message_preview[RW]
message[RW]
message_level[RW]
silent[RW]
sound[RW]
subtitle[RW]
title[RW]
user_credentials[RW]

Public Class Methods

new() click to toggle source
# File lib/push4.rb, line 33
def initialize
  @data = {}
  self.user_credentials = Push4.user_credentials
end
send() { |notif| ... } click to toggle source
# File lib/push4.rb, line 72
def self.send
  if block_given?
    notif = self.new
    yield notif
    notif.send
  end
end

Private Class Methods

assert_num_in_range(num, range) click to toggle source
# File lib/push4.rb, line 92
def self.assert_num_in_range(num, range)
  unless range.include?(num)
    raise ArgumentError, "Expected number between #{range}"
  end
end

Public Instance Methods

message_level=(message_level) click to toggle source
# File lib/push4.rb, line 43
def message_level=(message_level)
  self.class.assert_num_in_range(message_level, -2..2)
  @message_level = message_level
  @data['notification[message_level]'] = message_level
end
send() click to toggle source
# File lib/push4.rb, line 60
def send
  uri = URI(URL)
  
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  
  req = Net::HTTP::Post.new(uri.to_s)
  req.set_form_data(@data)
  
  http.request(req)
end
silent=(silent) click to toggle source
# File lib/push4.rb, line 49
def silent=(silent)
  @silent = silent
  @data['notification[silent]'] = silent ? 1 : 0
end
sound=(sound) click to toggle source
# File lib/push4.rb, line 54
def sound=(sound)
  self.class.assert_num_in_range(sound, 1..40)
  @sound = sound
  @data['notification[sound]'] = sound
end
user_credentials=(user_credentials) click to toggle source
# File lib/push4.rb, line 38
def user_credentials=(user_credentials)
  @user_credentials = user_credentials
  @data['user_credentials'] = user_credentials
end