class AdopsReportScrapper::AdsupplybuyerClient

Public Instance Methods

before_quit_with_error() click to toggle source
# File lib/adops_report_scrapper/adsupplybuyer_client.rb, line 15
def before_quit_with_error
end
date_supported?(date = nil) click to toggle source
# File lib/adops_report_scrapper/adsupplybuyer_client.rb, line 6
def date_supported?(date = nil)
  _date = date || @date
  return true if _date < (Date.today + 1)
  false
end
init_client() click to toggle source
# File lib/adops_report_scrapper/adsupplybuyer_client.rb, line 12
def init_client
end

Private Instance Methods

scrap() click to toggle source
# File lib/adops_report_scrapper/adsupplybuyer_client.rb, line 20
def scrap
  if @options[:hourly]
    scrap_hourly
  else
    scrap_daily
  end
end
scrap_daily() click to toggle source
# File lib/adops_report_scrapper/adsupplybuyer_client.rb, line 28
def scrap_daily
  date_str = @date.strftime('%-m/%-d/%Y')
  time_zone_id = 'Eastern Standard Time'

  response = RestClient.post "https://ui.adsupply.com/PublicPortal/Advertiser/#{@login}/Report/Export", SqlCommandId: '', ExportToExcel: 'False', IsOLAP: 'False', DateFilter: date_str, TimeZoneId: time_zone_id, Grouping: '1', 'DimAdvertiser.Value': "#{@login}~", 'DimAdvertiser.IsActive': 'True', 'DimMedia.Value': '', 'DimMedia.IsActive': 'True', ApiKey: @secret

  data = JSON.parse response
  unless data[0]
    @data = []
    return
  end
  header = data[0].keys
  @data = [header]
  @data += data.map do |datum|
    header.map { |key| datum[key] }
  end
end
scrap_hourly() click to toggle source
# File lib/adops_report_scrapper/adsupplybuyer_client.rb, line 46
def scrap_hourly
  date_str = @date.strftime('%-m/%-d/%Y')
  time_zone_id = 'Eastern Standard Time'

  response = RestClient.post "https://ui.adsupply.com/PublicPortal/Advertiser/#{@login}/Report/Export", SqlCommandId: '', ExportToExcel: 'False', IsOLAP: 'False', DateFilter: date_str, TimeZoneId: time_zone_id, Grouping: '0', ApiKey: @secret

  data = JSON.parse response
  unless data[0]
    @data = []
    return
  end
  header = data[0].keys
  @data = [header]
  @data += data.map do |datum|
    header.map { |key| datum[key] }
  end
end