Class: SoapyBing::Ads::Bulk::Campaigns
- Inherits:
-
Object
- Object
- SoapyBing::Ads::Bulk::Campaigns
- Defined in:
- lib/soapy_bing/ads/bulk/campaigns.rb
Constant Summary collapse
- DEFAULT_ENTITIES =
%w(CampaignTargets Ads).freeze
- DEFAULT_POLLING_SETTINGS =
{ tries: 20, sleep: ->(n) { n < 7 ? 2**n : 120 } }.freeze
- NotCompleted =
Class.new(StandardError)
Instance Attribute Summary collapse
-
#account ⇒ Object
readonly
Returns the value of attribute account.
-
#entities ⇒ Object
readonly
Returns the value of attribute entities.
-
#oauth_credentials ⇒ Object
readonly
Returns the value of attribute oauth_credentials.
-
#polling_settings ⇒ Object
readonly
Returns the value of attribute polling_settings.
-
#status ⇒ Object
readonly
Returns the value of attribute status.
Instance Method Summary collapse
- #fetch_status ⇒ Object
-
#initialize(options) ⇒ Campaigns
constructor
A new instance of Campaigns.
- #result_file_url ⇒ Object
- #rows ⇒ Object
Constructor Details
#initialize(options) ⇒ Campaigns
Returns a new instance of Campaigns.
15 16 17 18 19 20 |
# File 'lib/soapy_bing/ads/bulk/campaigns.rb', line 15 def initialize() @oauth_credentials = .fetch(:oauth_credentials) @account = .fetch(:account) @entities = .fetch(:entities) || DEFAULT_ENTITIES @polling_settings = DEFAULT_POLLING_SETTINGS.merge(.fetch(:polling_settings) || {}) end |
Instance Attribute Details
#account ⇒ Object (readonly)
Returns the value of attribute account.
13 14 15 |
# File 'lib/soapy_bing/ads/bulk/campaigns.rb', line 13 def account @account end |
#entities ⇒ Object (readonly)
Returns the value of attribute entities.
13 14 15 |
# File 'lib/soapy_bing/ads/bulk/campaigns.rb', line 13 def entities @entities end |
#oauth_credentials ⇒ Object (readonly)
Returns the value of attribute oauth_credentials.
13 14 15 |
# File 'lib/soapy_bing/ads/bulk/campaigns.rb', line 13 def oauth_credentials @oauth_credentials end |
#polling_settings ⇒ Object (readonly)
Returns the value of attribute polling_settings.
13 14 15 |
# File 'lib/soapy_bing/ads/bulk/campaigns.rb', line 13 def polling_settings @polling_settings end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
13 14 15 |
# File 'lib/soapy_bing/ads/bulk/campaigns.rb', line 13 def status @status end |
Instance Method Details
#fetch_status ⇒ Object
33 34 35 36 37 38 |
# File 'lib/soapy_bing/ads/bulk/campaigns.rb', line 33 def fetch_status @status = Soap::Request::GetBulkDownloadStatusRequest .new(context: context.merge(request_id: download_request_id)) .perform .payload end |
#result_file_url ⇒ Object
26 27 28 29 30 31 |
# File 'lib/soapy_bing/ads/bulk/campaigns.rb', line 26 def result_file_url @result_file_url ||= begin wait_status_complete status['ResultFileUrl'] end end |