class Moromi::Aws::Sns::Message::Parameter

Public Class Methods

build_from_hash(hash) click to toggle source
# File lib/moromi/aws/sns/message/parameter.rb, line 32
def self.build_from_hash(hash)
  apns_klass = hash.dig(:apns, :name)&.safe_constantize
  apns = apns_klass&.build_from_hash(hash.dig(:apns, :data).deep_symbolize_keys)

  gcm_klass = hash.dig(:gcm, :name)&.safe_constantize
  gcm = gcm_klass&.build_from_hash(hash.dig(:gcm, :data).deep_symbolize_keys)

  new(apns: apns, gcm: gcm)
end
new(apns: nil, gcm: nil) click to toggle source

@param [Moromi::Aws::Sns::Message::Apns] apns @param [Moromi::Aws::Sns::Message::Fcm] gcm

# File lib/moromi/aws/sns/message/parameter.rb, line 10
def initialize(apns: nil, gcm: nil)
  @apns = apns
  @gcm = gcm
end

Public Instance Methods

to_hash() click to toggle source
# File lib/moromi/aws/sns/message/parameter.rb, line 15
def to_hash
  {
    klass_name: self.class.name,
    apns: {name: @apns&.class&.name, data: @apns&.to_hash},
    gcm: {name: @gcm&.class&.name, data: @gcm&.to_hash}
  }
end
to_json() click to toggle source
# File lib/moromi/aws/sns/message/parameter.rb, line 23
def to_json
  {
    'default': '',
    'APNS_SANDBOX': @apns&.to_message_json,
    'APNS': @apns&.to_message_json,
    'GCM': @gcm&.to_message_json
  }.compact.to_json
end