Class: RJR::Messages::Compressed::Notification

Inherits:
Uncompressed::Notification
  • Object
show all
Defined in:
lib/rjr/messages/compressed.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ Notification

Returns a new instance of Notification.



199
200
201
# File 'lib/rjr/messages/compressed.rb', line 199

def initialize(args = {})
  parse_args(args)
end

Class Method Details

.is_compressed_notification_message?(message) ⇒ Boolean

Returns:

  • (Boolean)


234
235
236
237
238
239
240
241
# File 'lib/rjr/messages/compressed.rb', line 234

def self.is_compressed_notification_message?(message)
  begin
     parsed = JSONParser.parse(message)
     parsed.has_key?('m') && !parsed.has_key?('i')
  rescue Exception => e
    false
  end
end

.is_notification_message?(message) ⇒ Boolean

Returns:

  • (Boolean)


243
244
245
# File 'lib/rjr/messages/compressed.rb', line 243

def self.is_notification_message?(message)
  is_compressed_notification_message?(message) || super(message)
end

Instance Method Details

#to_json(*a) ⇒ Object



247
248
249
250
251
252
253
254
# File 'lib/rjr/messages/compressed.rb', line 247

def to_json(*a)
  deflated = Zlib::Deflate.deflate(@jr_args.to_json.to_s)
  encoded  = Base64.encode64(deflated)

  {'j' => 2.0,
   'm' => @jr_method,
   'p' => encoded}.merge(@headers).to_json(*a)
end