class AdopsReportScrapper::PopadsbuyerClient

Public Instance Methods

before_quit_with_error() click to toggle source
# File lib/adops_report_scrapper/popadsbuyer_client.rb, line 15
def before_quit_with_error
end
date_supported?(date = nil) click to toggle source
# File lib/adops_report_scrapper/popadsbuyer_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/popadsbuyer_client.rb, line 12
def init_client
end

Private Instance Methods

scrap() click to toggle source
# File lib/adops_report_scrapper/popadsbuyer_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/popadsbuyer_client.rb, line 28
def scrap_daily
  date_str = @date.strftime('%Y-%m-%d')
  time_zone_id = 'America%2FNew_York'

  response = RestClient.post "https://www.popads.net/api/report_advertiser?key=#{@secret}&zone=#{time_zone_id}&start=#{date_str}%2000%3A00&end=#{date_str}%2023%3A59&groups=campaign,datetime%3Aday", {}

  data = JSON.parse response
  unless data['rows'] && data['rows'][0]
    @data = []
    return
  end
  data = data['rows']
  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/popadsbuyer_client.rb, line 47
def scrap_hourly
  date_str = @date.strftime('%Y-%m-%d')
  time_zone_id = 'America%2FNew_York'

  response = RestClient.post "https://www.popads.net/api/report_advertiser?key=#{@secret}&zone=#{time_zone_id}&start=#{date_str}%2000%3A00&end=#{date_str}%2023%3A59&groups=datetime%3Ahour", {}

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