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_types ⇒ Firepush::MessageTypes 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 31 32 |
# File 'lib/firepush/message.rb', line 16 def initialize(msg) msg = msg.dup args = {} Recipient::TYPES.each do |type| args[type] = msg.delete(type) if msg.key?(type) end @recipient = Recipient::Builder.build(args) args.clear MessageType::TYPES.each do |type| args[type] = msg.delete(type) if msg.key?(type) end = MessageTypes.new(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_types ⇒ Firepush::MessageTypes (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
35 36 37 |
# File 'lib/firepush/message.rb', line 35 def to_json ::JSON.generate(message: ) end |
#valid? ⇒ Boolean
40 41 42 |
# File 'lib/firepush/message.rb', line 40 def valid? recipient.valid? && .valid? end |