Class: Firebase::Messaging::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/firebase/messaging/request.rb,
lib/firebase/messaging/request/for.rb,
lib/firebase/messaging/request/body.rb

Defined Under Namespace

Classes: Body, For

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeRequest

Returns a new instance of Request.



12
13
14
15
16
17
18
19
20
21
# 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

Instance Attribute Details

#bodyObject (readonly)

Returns the value of attribute body.



9
10
11
# File 'lib/firebase/messaging/request.rb', line 9

def body
  @body
end

#priorityObject

Returns the value of attribute priority.



10
11
12
# File 'lib/firebase/messaging/request.rb', line 10

def priority
  @priority
end

Instance Method Details

#postObject



35
36
37
38
39
40
41
42
43
44
# 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

#toObject



27
28
29
# File 'lib/firebase/messaging/request.rb', line 27

def to
  @for
end

#to=(push_for) ⇒ Object



23
24
25
# File 'lib/firebase/messaging/request.rb', line 23

def to=(push_for)
  @for = Firebase::Messaging::Request::For.new(push_for)
end

#typeObject



31
32
33
# File 'lib/firebase/messaging/request.rb', line 31

def type
  @for.type
end