Class: AdzerkDecisionSdk::PixelClient
- Inherits:
-
Object
- Object
- AdzerkDecisionSdk::PixelClient
- Defined in:
- lib/adzerk_decision_sdk/pixel_client.rb
Instance Method Summary collapse
- #fire(url, revenue_override: nil, additional_revenue: nil, event_multiplier: nil, gross_merchandise_value: nil) ⇒ Object
-
#initialize(api_client, logger) ⇒ PixelClient
constructor
A new instance of PixelClient.
Constructor Details
#initialize(api_client, logger) ⇒ PixelClient
Returns a new instance of PixelClient.
6 7 8 9 |
# File 'lib/adzerk_decision_sdk/pixel_client.rb', line 6 def initialize(api_client, logger) @api_client = api_client @logger = logger end |
Instance Method Details
#fire(url, revenue_override: nil, additional_revenue: nil, event_multiplier: nil, gross_merchandise_value: nil) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/adzerk_decision_sdk/pixel_client.rb', line 11 def fire(url, revenue_override: nil, additional_revenue: nil, event_multiplier: nil, gross_merchandise_value: nil) uri = URI(url) @logger.info("Firing Pixel at base url of: #{uri.to_s}") query_params = URI.decode_www_form(uri.query) query_params << ["override", revenue_override] if not revenue_override.nil? query_params << ["additional", additional_revenue] if not additional_revenue.nil? query_params << ["eventMultiplier", event_multiplier] if not event_multiplier.nil? query_params << ["gmv", gross_merchandise_value] if not gross_merchandise_value.nil? uri.query = URI.encode_www_form(query_params) new_url = uri.to_s() @logger.info("After url building with overrides, requesting: #{new_url}") request = @api_client.build_request(:GET, '') request.base_url = new_url response = request.run() location = response.response_code == 302 ? response.headers['location'] : nil @logger.info("Received response from pixel url: #{response.response_code} with location: #{location}") [response.response_code, location] end |