class Urbanairship::Devices::NamedUser

Attributes

named_user_id[RW]

Public Class Methods

new(client: required('client')) click to toggle source
# File lib/urbanairship/devices/named_user.rb, line 10
def initialize(client: required('client'))
  @client = client
  @named_user_id =  nil
end

Public Instance Methods

associate(channel_id: required('channel_id'), device_type: nil) click to toggle source
# File lib/urbanairship/devices/named_user.rb, line 26
def associate(channel_id: required('channel_id'), device_type: nil)
  fail ArgumentError,
       'named_user_id is required for association' if @named_user_id.nil?

  payload = {}
  payload['channel_id'] = channel_id
  payload['device_type'] = device_type unless device_type.nil?
  payload['named_user_id'] = @named_user_id.to_s

  response = @client.send_request(
    method: 'POST',
    body: JSON.dump(payload),
    path: named_users_path('associate'),
    content_type: CONTENT_TYPE
  )
  logger.info { "Associated channel_id #{channel_id} with named_user #{@named_user_id}" }
  response
end
disassociate(channel_id: required('channel_id'), device_type: nil) click to toggle source
# File lib/urbanairship/devices/named_user.rb, line 45
def disassociate(channel_id: required('channel_id'), device_type: nil)
  payload = {}
  payload['channel_id'] = channel_id
  payload['device_type'] = device_type unless device_type.nil?
  payload['named_user_id'] = @named_user_id unless @named_user_id.nil?
  response = @client.send_request(
    method: 'POST',
    body: JSON.dump(payload),
    path: named_users_path('disassociate'),
    content_type: CONTENT_TYPE
  )
  logger.info { "Dissociated channel_id #{channel_id}" }
  response
end
lookup() click to toggle source
# File lib/urbanairship/devices/named_user.rb, line 60
def lookup
  fail ArgumentError,
     'named_user_id is required for lookup' if @named_user_id.nil?
  response = @client.send_request(
    method: 'GET',
    path: named_users_path('?id=' + @named_user_id),
  )
  logger.info { "Retrieved information on named_user_id #{@named_user_id}" }
  response
end
update_attributes(attributes: required('attributes')) click to toggle source
# File lib/urbanairship/devices/named_user.rb, line 15
def update_attributes(attributes: required('attributes'))
  response = @client.send_request(
    method: 'POST',
    body: Urbanairship::Attributes.new(attributes).payload.to_json,
    path: named_users_path("#{@named_user_id}/attributes"),
    content_type: CONTENT_TYPE,
  )
  logger.info { "Updated attributes for named_user #{@named_user_id}" }
  response
end