class Moromi::Apns::Message::Base

Attributes

parameter[R]

Public Class Methods

new(parameter:, type: nil) click to toggle source

@param [Moromi::Apns::Parameter] parameter

# File lib/moromi/apns/message/base.rb, line 12
def initialize(parameter:, type: nil)
  @parameter = parameter
  @type = type
end
unserialize(params) click to toggle source

@param [Hash] params

# File lib/moromi/apns/message/base.rb, line 47
def self.unserialize(params)
  parameter = ::Moromi::Apns::Parameter.unserialize(params[:parameter])
  new(parameter: parameter, type: params[:type])
end

Public Instance Methods

custom_data() click to toggle source
# File lib/moromi/apns/message/base.rb, line 21
def custom_data
  {type: type}.merge(@parameter.custom_data)
end
serialize() click to toggle source
# File lib/moromi/apns/message/base.rb, line 25
def serialize
  {
    type: type,
    parameter: @parameter.serialize
  }
end
to_hash() click to toggle source
# File lib/moromi/apns/message/base.rb, line 32
def to_hash
  base = {
    aps: {
      badge: badge,
      alert: alert,
      sound: sound,
      'content-available' => content_available,
      'mutable-content' => mutable_content,
      priority: priority
    }
  }
  custom_data.merge(base)
end
type() click to toggle source
# File lib/moromi/apns/message/base.rb, line 17
def type
  @type || self.class.name
end