class AdopsReportScrapper::RubiconClient

Public Instance Methods

before_quit_with_error() click to toggle source
# File lib/adops_report_scrapper/rubicon_client.rb, line 17
def before_quit_with_error
end
date_supported?(date = nil) click to toggle source
# File lib/adops_report_scrapper/rubicon_client.rb, line 6
def date_supported?(date = nil)
  _date = date || @date
  return true if _date < Date.today
  false
end
init_client() click to toggle source
# File lib/adops_report_scrapper/rubicon_client.rb, line 12
def init_client
  fail 'please specify rubicon account id' unless @options['account_id']
  @account_id = @options['account_id']
end

Private Instance Methods

scrap() click to toggle source
# File lib/adops_report_scrapper/rubicon_client.rb, line 22
def scrap
  date_str = date.strftime '%F'

  response = RestClient::Request.execute method: :get, url: "https://api.rubiconproject.com/analytics/v1/report/?account=publisher/#{@account_id}&start=#{date_str}T00:00:00-07:00&end=#{date_str}T23:59:59-08:00&dimensions=date,site,country,device_type,ad_format&metrics=bid_requests,paid_impression,revenue", user: @login, password: @secret

  data = JSON.parse response.body
  @data = [data['data']['items'].first.keys]
  @data += data['data']['items'].reject{ |item| item['date'] != date_str }.map(&:values)
end