Class: Stealth::Services::Facebook::Client

Inherits:
BaseClient
  • Object
show all
Defined in:
lib/stealth/services/facebook/client.rb

Constant Summary collapse

FB_ENDPOINT =
"https://graph.facebook.com/v2.10/me"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(reply:, endpoint: 'messages') ⇒ Client

Returns a new instance of Client.



19
20
21
22
23
# File 'lib/stealth/services/facebook/client.rb', line 19

def initialize(reply:, endpoint: 'messages')
  @reply = reply
  access_token = "access_token=#{Stealth.config.facebook.page_access_token}"
  @api_endpoint = [[FB_ENDPOINT, endpoint].join('/'), access_token].join('?')
end

Instance Attribute Details

#api_endpointObject (readonly)

Returns the value of attribute api_endpoint.



17
18
19
# File 'lib/stealth/services/facebook/client.rb', line 17

def api_endpoint
  @api_endpoint
end

#replyObject (readonly)

Returns the value of attribute reply.



17
18
19
# File 'lib/stealth/services/facebook/client.rb', line 17

def reply
  @reply
end

Instance Method Details

#transmitObject



25
26
27
28
29
# File 'lib/stealth/services/facebook/client.rb', line 25

def transmit
  headers = { "Content-Type" => "application/json" }
  response = Faraday.post(api_endpoint, reply.to_json, headers)
  Stealth::Logger.l(topic: "facebook", message: "Transmitting. Response: #{response.status}: #{response.body}")
end