Class: Firepush::Message
- Inherits:
-
Object
- Object
- Firepush::Message
- Defined in:
- lib/firepush/message.rb
Instance Attribute Summary collapse
-
#extra ⇒ Object
readonly
TODO: handle extra data in better way.
- #message_type ⇒ Firepush::MessageType::Base readonly
- #recipient ⇒ Firepush::Recipient::Base readonly
Instance Method Summary collapse
-
#initialize(msg) ⇒ Message
constructor
A new instance of Message.
- #to_json ⇒ String
- #valid? ⇒ Boolean
Constructor Details
#initialize(msg) ⇒ Message
Returns a new instance of Message.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/firepush/message.rb', line 16 def initialize(msg) msg = msg.dup args = {} args[:topic] = msg.delete(:topic) if msg.key?(:topic) args[:token] = msg.delete(:token) if msg.key?(:token) @recipient = Recipient::Builder.build(args) args.clear args[:notification] = msg.delete(:notification) if msg.key?(:notification) args[:data] = msg.delete(:data) if msg.key?(:data) = MessageType::Builder.build(args) @extra = msg end |
Instance Attribute Details
#extra ⇒ Object (readonly)
TODO: handle extra data in better way.
11 12 13 |
# File 'lib/firepush/message.rb', line 11 def extra @extra end |
#message_type ⇒ Firepush::MessageType::Base (readonly)
8 9 10 |
# File 'lib/firepush/message.rb', line 8 def end |
#recipient ⇒ Firepush::Recipient::Base (readonly)
7 8 9 |
# File 'lib/firepush/message.rb', line 7 def recipient @recipient end |
Instance Method Details
#to_json ⇒ String
33 34 35 |
# File 'lib/firepush/message.rb', line 33 def to_json ::JSON.generate(message: ) end |
#valid? ⇒ Boolean
38 39 40 |
# File 'lib/firepush/message.rb', line 38 def valid? recipient.valid? && .valid? end |