Sha256: 194aebffd2606f1fe27cb39afadc09e92627423da0dcf3ad70c1c175e62734df
Contents?: true
Size: 1.16 KB
Versions: 3
Compression:
Stored size: 1.16 KB
Contents
require 'pushbullet_ruby/push' module PushbulletRuby class Pushable class MissingParameter < StandardError; end attr_reader :client, :receiver, :identifier, :params def self.push(client, receiver, identifier, params) Push.new(new(client, receiver, identifier, params).push.body) end def initialize(client, receiver, identifier, params) @client = client @receiver = receiver @identifier = identifier @params = params end def push raise MissingParameter unless params.keys.sort == required_parameters.sort payload = params.merge(type: type) payload = specify_receiver(payload) client.post('/v2/pushes', payload) end def specify_receiver(payload) if receiver && identifier payload.merge(receiver_type => identifier) else payload end end def receiver_type case receiver when :device then :device_iden when :email then receiver when :channel then :channel_tag when :client then :client_iden else raise NotImplementedError end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
pushbullet_ruby-1.0.2.1 | lib/pushbullet_ruby/pushable.rb |
pushbullet_ruby-1.0.2 | lib/pushbullet_ruby/pushable.rb |
pushbullet_ruby-1.0.1 | lib/pushbullet_ruby/pushable.rb |