class Urbanairship::Devices::Attributes
Constants
- REMOVE
- SET
Public Class Methods
new(attributes)
click to toggle source
# File lib/urbanairship/devices/attributes.rb, line 9 def initialize(attributes) @attributes = attributes end
Public Instance Methods
payload()
click to toggle source
# File lib/urbanairship/devices/attributes.rb, line 13 def payload @payload ||= { attributes: attributes_list } end
Private Instance Methods
attribute_payload(attribute)
click to toggle source
# File lib/urbanairship/devices/attributes.rb, line 23 def attribute_payload(attribute) if REMOVE == attribute[:action] remove_payload(attribute) else set_payload(attribute) end end
attributes_list()
click to toggle source
# File lib/urbanairship/devices/attributes.rb, line 19 def attributes_list @attributes.map{ |attribute| attribute_payload(attribute) } end
remove_payload(attribute)
click to toggle source
# File lib/urbanairship/devices/attributes.rb, line 40 def remove_payload(attribute) { action: REMOVE, key: attribute[:key], timestamp: (attribute[:timestamp] || timestamp).iso8601, } end
set_payload(attribute)
click to toggle source
# File lib/urbanairship/devices/attributes.rb, line 31 def set_payload(attribute) { action: SET, key: attribute[:key], value: attribute[:value], timestamp: (attribute[:timestamp] || timestamp).iso8601, } end
timestamp()
click to toggle source
# File lib/urbanairship/devices/attributes.rb, line 48 def timestamp @timestamp ||= Time.now.utc end