class Glass::Subscription

Constants

DEFAULT_COLLECTION
DEFAULT_OPERATIONS

Attributes

client[RW]
google_account[RW]
google_client[RW]
mirror_api[RW]

Public Class Methods

new(opts) click to toggle source
# File lib/glass/subscription.rb, line 8
def initialize(opts)
  self.google_account = opts[:google_account]
  self.client = Glass::Client.new google_account: google_account
  self.google_client = client.google_client
  self.mirror_api = client.mirror_api
end

Public Instance Methods

insert(opts={}) click to toggle source

Insert a subscription optional parameters:

collection can be :timeline or :locations
operation is an array of operations subscribed to. Valid values are 'UPDATE', 'INSERT', 'DELETE'
# File lib/glass/subscription.rb, line 19
def insert(opts={})
  mirror_api_method = opts[:mirror_api_method] || :subscriptions 
  subscription = mirror_api.subscriptions.insert.request_schema.new(
    collection:   opts[:collection] || DEFAULT_COLLECTION,
    userToken:    user_token,
    verifyToken:  verification_secret,
    callbackUrl:  opts[:callback_url] || client.callback_url,
    operation:    opts[:operations] || DEFAULT_OPERATIONS)
  result = google_client.execute(api_method: mirror_api.send(mirror_api_method).insert,
                                 body_object: subscription)
  result
end
user_token() click to toggle source

Token string used to identify user in the callback

# File lib/glass/subscription.rb, line 36
def user_token
  google_account.id.to_s
end
verification_secret() click to toggle source

Secret string used to verify that the callback is by Google

# File lib/glass/subscription.rb, line 41
def verification_secret
  google_account.verification_secret
end