Class: DeviceCloud::PushNotification::BaseNotification

Inherits:
Object
  • Object
show all
Defined in:
lib/device_cloud/push_notification/base_notification.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(file_data) ⇒ BaseNotification

Returns a new instance of BaseNotification.



15
16
17
18
19
20
21
22
23
# File 'lib/device_cloud/push_notification/base_notification.rb', line 15

def initialize(file_data)
  @file_data = file_data
  @id = data["id"]
  @full_path = file_data.full_path
  @device_id = data["device_id"]
  @type = data["type"]
  @queued_at = data["queued_dt"]
  @value = data["value"]
end

Instance Attribute Details

#device_idObject (readonly)

Returns the value of attribute device_id.



3
4
5
# File 'lib/device_cloud/push_notification/base_notification.rb', line 3

def device_id
  @device_id
end

#full_pathObject (readonly)

Returns the value of attribute full_path.



3
4
5
# File 'lib/device_cloud/push_notification/base_notification.rb', line 3

def full_path
  @full_path
end

#idObject (readonly)

Returns the value of attribute id.



3
4
5
# File 'lib/device_cloud/push_notification/base_notification.rb', line 3

def id
  @id
end

#queued_atObject (readonly)

Returns the value of attribute queued_at.



3
4
5
# File 'lib/device_cloud/push_notification/base_notification.rb', line 3

def queued_at
  @queued_at
end

#typeObject (readonly)

Returns the value of attribute type.



3
4
5
# File 'lib/device_cloud/push_notification/base_notification.rb', line 3

def type
  @type
end

#valueObject (readonly)

Returns the value of attribute value.



3
4
5
# File 'lib/device_cloud/push_notification/base_notification.rb', line 3

def value
  @value
end

Class Method Details

.handle!(file_data) ⇒ Object



5
6
7
8
# File 'lib/device_cloud/push_notification/base_notification.rb', line 5

def self.handle!(file_data)
  event = new(file_data)
  event.handle!
end

.handle_no_content!(file_data) ⇒ Object



10
11
12
13
# File 'lib/device_cloud/push_notification/base_notification.rb', line 10

def self.handle_no_content!(file_data)
  event = new(file_data)
  event.handle_no_content!
end

Instance Method Details

#dataObject



46
47
48
# File 'lib/device_cloud/push_notification/base_notification.rb', line 46

def data
  @file_data.data
end

#file_nameObject



33
34
35
# File 'lib/device_cloud/push_notification/base_notification.rb', line 33

def file_name
  @file_data.file_name
end

#handle!Object

Raises:

  • (NotImplementedError)


25
26
27
# File 'lib/device_cloud/push_notification/base_notification.rb', line 25

def handle!
  raise NotImplementedError
end

#handle_no_content!Object



29
30
31
# File 'lib/device_cloud/push_notification/base_notification.rb', line 29

def handle_no_content!
  DeviceCloud.logger.info "DeviceCloud::PushNotification::BaseNotification - No FileData content - NotImplemented #{@full_path}"
end

#mac_addressObject



41
42
43
44
# File 'lib/device_cloud/push_notification/base_notification.rb', line 41

def mac_address
  return '' unless device_id
  device_id.sub(/\Am:/, '').scan(/.{2}|.+/).join(':')
end

#raw_dataObject



37
38
39
# File 'lib/device_cloud/push_notification/base_notification.rb', line 37

def raw_data
  @file_data.fdData
end