class Beacon
Attributes
api_key[RW]
host[RW]
secret_key[RW]
version[RW]
Public Class Methods
new(api_key, secret_key, options = {})
click to toggle source
# File lib/ruby-beaconpush.rb, line 9 def initialize(api_key, secret_key, options = {}) @api_key = api_key @secret_key = secret_key @host = options[:host] || 'api.beaconpush.com' @headers = options[:headers] || {} @version = options[:version] || '1.0.0' end
Public Instance Methods
logout(username)
click to toggle source
# File lib/ruby-beaconpush.rb, line 37 def logout(username) RestClient.delete("#{base_url}/users/#{username}", headers) username end
online?(username)
click to toggle source
# File lib/ruby-beaconpush.rb, line 31 def online?(username) response = RestClient.get("#{base_url}/users/#{username}", headers) JSON.load(response)['status'] == 200 end
publish(channel, data)
click to toggle source
# File lib/ruby-beaconpush.rb, line 19 def publish(channel, data) RestClient.post("#{base_url}/channels/#{channel}", JSON.dump(data), headers) data end
users(channel)
click to toggle source
# File lib/ruby-beaconpush.rb, line 43 def users(channel) response = RestClient.get("#{base_url}/channels/#{channel}", headers) JSON.load(response)['users'] end
users_count()
click to toggle source
# File lib/ruby-beaconpush.rb, line 25 def users_count response = RestClient.get("#{base_url}/users", headers) JSON.load(response)['online'] end
whisper(username, data)
click to toggle source
# File lib/ruby-beaconpush.rb, line 49 def whisper(username, data) RestClient.post("#{base_url}/users/#{username}", JSON.dump(data), headers) data end
Private Instance Methods
base_url()
click to toggle source
# File lib/ruby-beaconpush.rb, line 57 def base_url "http://#{host}/#{version}/#{api_key}" end
headers()
click to toggle source
# File lib/ruby-beaconpush.rb, line 62 def headers { 'X-Beacon-Secret-Key' => secret_key }.merge(@headers) end