Class: Maia::Messenger

Inherits:
ActiveJob::Base
  • Object
show all
Defined in:
lib/maia/messenger.rb

Instance Method Summary collapse

Instance Method Details

#perform(tokens, payload) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/maia/messenger.rb', line 3

def perform(tokens, payload)
  logger.info "Pushing to #{tokens.size} token(s)..."
  logger.info "Payload: #{payload}"

  notification = FCM::Notification.new payload
  responses    = fcm.deliver notification, tokens

  responses.each do |response|
    raise Maia::Error, response.error if response.error
    handle_errors response.results.failed
    update_devices_to_use_canonical_ids response.results.with_canonical_ids
  end
end