Sha256: d8fe853fdb406f1fa866b34ac728db15e418a107399a6df6e1dd8329fe08311b

Contents?: true

Size: 733 Bytes

Versions: 1

Compression:

Stored size: 733 Bytes

Contents

require 'forwardable'

module Moromi::Apns::Message
  class Base
    extend Forwardable

    attr_reader :parameter

    def_delegators :@parameter, :alert, :badge, :sound, :content_available, :priority

    # @param [Moromi::Apns::Parameter] parameter
    def initialize(parameter:)
      @parameter = parameter
    end

    def type
      self.class.name
    end

    def custom_data
      {type: type}.merge(@parameter.custom_data)
    end

    def serialize
      {
        type: type,
        parameter: @parameter.serialize
      }
    end

    # @param [Hash] params
    def self.unserialize(params)
      parameter = ::Moromi::Apns::Parameter.unserialize(params[:parameter])
      new(parameter: parameter)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
moromi-apns-0.3.0 lib/moromi/apns/message/base.rb