class Urbanairship::Devices::StaticList
Attributes
name[RW]
Public Class Methods
new(client: required('client'))
click to toggle source
# File lib/urbanairship/devices/static_lists.rb, line 11 def initialize(client: required('client')) fail ArgumentError, 'Client cannot be set to nil' if client.nil? @client = client end
Public Instance Methods
create(description: nil, extra: nil)
click to toggle source
# File lib/urbanairship/devices/static_lists.rb, line 16 def create(description: nil, extra: nil) fail ArgumentError, 'Name must be set' if name.nil? payload = {'name': name} payload['description'] = description unless description.nil? payload['extra'] = extra unless extra.nil? response = @client.send_request( method: 'POST', body: JSON.dump(payload), path: lists_path, content_type: 'application/json' ) logger.info("Created static list for #{@name}") response end
delete()
click to toggle source
# File lib/urbanairship/devices/static_lists.rb, line 81 def delete fail ArgumentError, 'Name must be set' if name.nil? response = @client.send_request( method: 'DELETE', path: lists_path(@name) ) logger.info("Deleted list #{@name}") response end
lookup()
click to toggle source
# File lib/urbanairship/devices/static_lists.rb, line 71 def lookup fail ArgumentError, 'Name must be set' if name.nil? response = @client.send_request( method: 'GET', path: lists_path(@name) ) logger.info("Retrieving info for list #{@name}") response end
update(description: nil, extra: nil)
click to toggle source
# File lib/urbanairship/devices/static_lists.rb, line 54 def update(description: nil, extra: nil) fail ArgumentError, 'Name must be set' if name.nil? fail ArgumentError, 'Either description or extras must be set to a value' if description.nil? and extra.nil? payload = {} payload['description'] = description unless description.nil? payload['extra'] = extra unless extra.nil? response = @client.send_request( method: 'PUT', body: JSON.dump(payload), path: lists_path(@name), content_type: 'application/json' ) logger.info("Updating the metadata for list #{@name}") response end
upload(csv_file: required('csv_file'), gzip: false)
click to toggle source
# File lib/urbanairship/devices/static_lists.rb, line 32 def upload(csv_file: required('csv_file'), gzip: false) fail ArgumentError, 'Name must be set' if name.nil? if gzip response = @client.send_request( method: 'PUT', body: csv_file, path: lists_path(@name + '/csv/'), content_type: 'text/csv', encoding: gzip ) else response = @client.send_request( method: 'PUT', body: csv_file, path: lists_path(@name + '/csv/'), content_type: 'text/csv' ) end logger.info("Uploading a list for #{@name}") response end