Sha256: e9208c9ed0c8ac63d28f223b3c7447d6626e41e69e1e131e3ce17fefdd602839

Contents?: true

Size: 798 Bytes

Versions: 1

Compression:

Stored size: 798 Bytes

Contents

module DeviceCloud
  class PushNotification::BaseNotification
    attr_reader :id, :full_path, :device_id, :value, :queued_at, :type
    
    def self.handle!(file_data)
      event = new(file_data)
      event.handle!
    end

    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

    def handle!
      raise NotImplementedError
    end

    def file_name
      return '' unless id
      id['fdName']
    end

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

    def data
      @file_data.data
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
device_cloud-0.0.9 lib/device_cloud/push_notification/base_notification.rb