class Workarea::FacebookConversionTrackingGateway
Public Class Methods
new(payload)
click to toggle source
# File lib/workarea/facebook_conversion_tracking/gateway.rb, line 7 def initialize(payload) @payload = payload end
Public Instance Methods
send()
click to toggle source
# File lib/workarea/facebook_conversion_tracking/gateway.rb, line 11 def send begin response = conn.post do |req| req.params['data'] = @payload.to_json end handle_response(response) rescue => e Raven.capture_message("Facebook Conversion Tracking POST Error: #{e}", level: 'error') end end
Private Instance Methods
access_token()
click to toggle source
# File lib/workarea/facebook_conversion_tracking/gateway.rb, line 60 def access_token Workarea::FacebookConversionTracking.access_token end
conn()
click to toggle source
# File lib/workarea/facebook_conversion_tracking/gateway.rb, line 35 def conn @conn ||= Faraday.new( url: URI.parse(url), params: conn_params, headers: { 'Content-Type' => 'application/json' } ) end
conn_params()
click to toggle source
We only want to use the test code when testing on dev.
# File lib/workarea/facebook_conversion_tracking/gateway.rb, line 45 def conn_params return unless Workarea::FacebookConversionTracking.configured? test_code = Rails.env.development? ? { test_event_code: test_code } : {} { access_token: access_token }.merge(test_code) end
handle_response(response)
click to toggle source
# File lib/workarea/facebook_conversion_tracking/gateway.rb, line 25 def handle_response(response) parsed_resp = JSON.parse(response.body) if response.status != 200 Raven.capture_message("Facebook Conversion Tracking Error: #{parsed_resp}", level: 'error') else parsed_resp end end
pixel_id()
click to toggle source
# File lib/workarea/facebook_conversion_tracking/gateway.rb, line 56 def pixel_id Workarea::FacebookConversionTracking.pixel_id end
test_code()
click to toggle source
# File lib/workarea/facebook_conversion_tracking/gateway.rb, line 64 def test_code Workarea::FacebookConversionTracking.test_code end
url()
click to toggle source
# File lib/workarea/facebook_conversion_tracking/gateway.rb, line 52 def url "https://graph.facebook.com/v11.0/#{pixel_id}/events" end