Class: Moromi::Aws::Sns::Message::Parameter
- Inherits:
-
Object
- Object
- Moromi::Aws::Sns::Message::Parameter
- Defined in:
- lib/moromi/aws/sns/message/parameter.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(apns: nil, gcm: nil) ⇒ Parameter
constructor
A new instance of Parameter.
- #to_hash ⇒ Object
- #to_json ⇒ Object
Constructor Details
#initialize(apns: nil, gcm: nil) ⇒ Parameter
Returns a new instance of Parameter.
10 11 12 13 |
# File 'lib/moromi/aws/sns/message/parameter.rb', line 10 def initialize(apns: nil, gcm: nil) @apns = apns @gcm = gcm end |
Class Method Details
.build_from_hash(hash) ⇒ Object
32 33 34 35 36 37 38 39 40 |
# 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 |
Instance Method Details
#to_hash ⇒ Object
15 16 17 18 19 20 21 |
# 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 ⇒ Object
23 24 25 26 27 28 29 30 |
# File 'lib/moromi/aws/sns/message/parameter.rb', line 23 def to_json { 'default': '', 'APNS_SANDBOX': @apns&., 'APNS': @apns&., 'GCM': @gcm&. }.compact.to_json end |