class RubyPushNotifications::GCM::GCMPusher

This class is responsible for sending notifications to the GCM service.

@author Carlos Alonso

Public Class Methods

new(key, options = {}) click to toggle source

Initializes the GCMPusher

@param key [String]. GCM sender id to use

((https://developer.android.com/google/gcm/gcm.html#senderid))

@param options [Hash] optional. Options for GCMPusher. Currently supports:

* url [String]: URL of the GCM endpoint. Defaults to the official GCM URL.
* open_timeout [Integer]: Number of seconds to wait for the connection to open. Defaults to 30.
* read_timeout [Integer]: Number of seconds to wait for one block to be read. Defaults to 30.
# File lib/ruby-push-notifications/gcm/gcm_pusher.rb, line 18
def initialize(key, options = {})
  @key = key
  @options = options
end

Public Instance Methods

push(notifications) click to toggle source

Actually pushes the given notifications. Assigns every notification an array with the result of each individual notification.

@param notifications [Array]. Array of GCMNotification to send.

# File lib/ruby-push-notifications/gcm/gcm_pusher.rb, line 28
def push(notifications)
  notifications.each do |notif|
    notif.results = GCMConnection.post notif.as_gcm_json, @key, @options
  end
end