class DaFace::Api::PushSubscription

Attributes

created_at[R]
end[RW]
hash[RW]
hash_type[R]
id[R]
initial_status[RW]
last_request[R]
last_success[R]
lost_data[R]
name[RW]
output_params[RW]
output_type[RW]
playback_id[RW]
remaining_bytes[R]
start[RW]
status[R]
user_id[R]

Public Class Methods

get_all() click to toggle source
# File lib/da_face/api/push_subscription.rb, line 133
def self.get_all
  data = DaFace::Api::Push.get
  return data if data.keys.include? :error
  data[:subscriptions].collect{|d| new(d)}
end
new(data={}) click to toggle source
# File lib/da_face/api/push_subscription.rb, line 12
def initialize data={}
  assign_attributes! data
  normalize_attributes!
  return self
end

Public Instance Methods

allowed_attributes() click to toggle source
# File lib/da_face/api/push_subscription.rb, line 34
def allowed_attributes
  [:name, :hash, :initial_status, :start, :end,
   :output_params, :output_type, :playback_id,
   :id, :created_at, :user_id, :hash_type, :status, :last_request, 
   :last_success, :remaining_bytes, :lost_data]
end
assign_attributes!(data) click to toggle source
# File lib/da_face/api/push_subscription.rb, line 18
def assign_attributes! data
  allowed_attributes.each do |attr|
    unless data[attr].nil?
      self.instance_variable_set("@#{attr}".to_sym, data[attr])
    end
  end
end
create() click to toggle source
# File lib/da_face/api/push_subscription.rb, line 99
def create
  data = DaFace::Api::Push.create self.generate_config
  return data if data.keys.include? :error
  update! data
end
delete() click to toggle source
# File lib/da_face/api/push_subscription.rb, line 117
def delete
  DaFace::Api::Push.delete self.id
end
generate_config() click to toggle source
# File lib/da_face/api/push_subscription.rb, line 49
def generate_config
  config = {}
  config['name']           = self.name if self.name
  config['output_type']    = self.output_type if self.output_type
  config['initial_status'] = self.initial_status if self.initial_status
  config['hash']           = self.hash if self.hash
  config['playback_id']    = self.playback_id if self.playback_id
  config['start']          = self.start.to_i if self.start
  config['end']            = self.end.to_i if self.end

  config.merge! self.output_params_config if self.output_params
  config
end
get() click to toggle source
# File lib/da_face/api/push_subscription.rb, line 127
def get
  data = DaFace::Api::Push.get :id => self.id
  return data if data.keys.include? :error
  update! data
end
log() click to toggle source
# File lib/da_face/api/push_subscription.rb, line 121
def log
  data = DaFace::Api::Push.log self.id
  return data if data.keys.include? :error
  DaFace::Api::PushLog.new data
end
lost_data?() click to toggle source
# File lib/da_face/api/push_subscription.rb, line 63
def lost_data?
  self.lost_data
end
normalize_attributes!() click to toggle source
# File lib/da_face/api/push_subscription.rb, line 41
def normalize_attributes!
  @last_request = parse_timestamp(@last_request) if @last_request
  @last_success = parse_timestamp(@last_success) if @last_success
  @start = (@start && @start > 0) ? parse_timestamp(@start) : nil
  @end = (@end && @end > 0) ? parse_timestamp(@end) : nil
  @created_at = parse_timestamp(@created_at) if @created_at
end
output_config() click to toggle source
# File lib/da_face/api/push_subscription.rb, line 81
def output_config
  config = {}
  config['output_type'] = self.output_type
  config.merge! self.output_params_config

  config
end
output_params_config() click to toggle source
# File lib/da_face/api/push_subscription.rb, line 67
def output_params_config
  params = self.output_params.clone
  auth = params.delete :auth
  config = {}
  params.each do |key, value|
    config["output_params.#{key}"] = value
  end
  auth.each do |key, value|
    config["output_params.auth.#{key}"] = value
  end unless auth.nil?

  config
end
pause() click to toggle source
# File lib/da_face/api/push_subscription.rb, line 105
def pause
  DaFace::Api::Push.pause self.id
end
resume() click to toggle source
# File lib/da_face/api/push_subscription.rb, line 109
def resume
  DaFace::Api::Push.resume self.id
end
stop() click to toggle source
# File lib/da_face/api/push_subscription.rb, line 113
def stop
  DaFace::Api::Push.stop self.id
end
update() click to toggle source
# File lib/da_face/api/push_subscription.rb, line 89
def update 
  params = {'id' => self.id, 'name' => self.name}.merge(self.output_config)
  data = DaFace::Api::Push.update params
  update! data
end
update!(data={}) click to toggle source
# File lib/da_face/api/push_subscription.rb, line 26
def update! data={}
  params = data.delete :output_params
  assign_attributes! data
  self.output_params.merge! params
  normalize_attributes!
  return self
end
validate() click to toggle source
# File lib/da_face/api/push_subscription.rb, line 95
def validate
  DaFace::Api::Push.validate self.output_config
end