class Rgcm::RequestBuilder
Constants
- URI
Attributes
api_key[R]
data[R]
options[R]
registration_ids[R]
Public Class Methods
new(api_key, registration_ids, options, data)
click to toggle source
# File lib/rgcm/request_builder.rb, line 8 def initialize(api_key, registration_ids, options, data) @api_key = api_key @registration_ids = registration_ids.kind_of?(Array) ? registration_ids : [registration_ids] @options = options @data = data end
Public Instance Methods
build()
click to toggle source
# File lib/rgcm/request_builder.rb, line 15 def build Typhoeus::Request.new(URI, headers: headers, method: :post, body: body.to_json, followlocation: true) end
Private Instance Methods
body()
click to toggle source
# File lib/rgcm/request_builder.rb, line 25 def body body = {'registration_ids' => registration_ids} if options.present? body.merge!('collapse_key' => options[:collapse_key]) if options.has_key?(:collapse_key) body.merge!('time_to_live' => options[:time_to_live]) if options.has_key?(:time_to_live) body.merge!('delay_while_idle' => true) if options.has_key?(:time_to_live) end body.merge!('data' => data) if data.present? body end
headers()
click to toggle source
# File lib/rgcm/request_builder.rb, line 21 def headers {'Authorization' => "key=#{api_key}", 'Content-Type' => 'application/json'} end