class Firebase::Messaging::Request
Attributes
body[R]
priority[RW]
Public Class Methods
new()
click to toggle source
# File lib/firebase/messaging/request.rb, line 12 def initialize @connector = Faraday.new(url: Firebase::Messaging.configure.base_url, headers: Firebase::Messaging.configure.headers) do |faraday| faraday.request :url_encoded # form-encode POST params faraday.adapter Faraday.default_adapter # make requests with Net::HTTP faraday.response :logger # log requests to STDOUT faraday.use :instrumentation end @body = Body.new @priority = :high end
Public Instance Methods
post()
click to toggle source
# File lib/firebase/messaging/request.rb, line 35 def post Firebase::Messaging.logger.debug("Request. body: #{build_body}") res = @connector.post do |req| req.body = build_body end Firebase::Messaging::Response.bind(type, status: res.status, body: res.body, headers: res.headers).tap do |response| log_level = response.success? ? :info : :warn Firebase::Messaging.logger.send(log_level, "Response. status: #{res.status}, body: #{res.body}") end end
to()
click to toggle source
# File lib/firebase/messaging/request.rb, line 27 def to @for end
to=(push_for)
click to toggle source
# File lib/firebase/messaging/request.rb, line 23 def to=(push_for) @for = Firebase::Messaging::Request::For.new(push_for) end
type()
click to toggle source
# File lib/firebase/messaging/request.rb, line 31 def type @for.type end
Private Instance Methods
build_body()
click to toggle source
# File lib/firebase/messaging/request.rb, line 48 def build_body { priority: @priority }.merge(@for.payload).merge(@body.payload).to_json end