class Firepush::Message
Attributes
extra[R]
TODO: handle extra data in better way.
message_types[R]
recipient[R]
Public Class Methods
new(msg)
click to toggle source
@param msg [Hash] @see lib/firepush/{recipient/*,message_types}.rb @raise [ArgumentError]
# 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 @message_types = MessageTypes.new(args) @extra = msg end
Public Instance Methods
to_json()
click to toggle source
@return [String]
# File lib/firepush/message.rb, line 35 def to_json ::JSON.generate(message: message) end
valid?()
click to toggle source
@return [Boolean]
# File lib/firepush/message.rb, line 40 def valid? recipient.valid? && message_types.valid? end
Private Instance Methods
message()
click to toggle source
@private @return [Hash]
# File lib/firepush/message.rb, line 48 def message message_types.message.merge({ recipient.key => recipient.value }.merge(extra)) end