Sha256: 1e5a05fcd0ba0d8e8daaffa590b28fbebe3051dc11175e84416cbf59976da78e

Contents?: true

Size: 709 Bytes

Versions: 1

Compression:

Stored size: 709 Bytes

Contents

require 'grocer'
require 'nuge/client'

module Nuge
  module Clients
    class Grocer < Nuge::Client
      attr_reader :options

      def initialize(options = {})
        @options = options
      end

      def pusher
        @pusher ||= ::Grocer.pusher(options)
      end

      def push(ids, message)
        notifications(ids, message).each do |notification|
          pusher.push(notification)
        end
      end

      private

      def notifications(ids, message)
        ids.map do |token|
          ::Grocer::Notification.new(
            device_token: token,
            alert:        message.delete(:alert),
            custom:       message
          )
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
nuge-0.1.0 lib/nuge/clients/grocer.rb