Sha256: d6a0f8ff24a0712fd2834a097a6881e521ce6db924bb5b67adb55a61f63cbee2
Contents?: true
Size: 1.39 KB
Versions: 2
Compression:
Stored size: 1.39 KB
Contents
require 'date' require_relative 'base_client' require 'rest-client' class AdopsReportScrapper::PopadsbuyerClient < AdopsReportScrapper::BaseClient def date_supported?(date = nil) _date = date || @date return true if _date < (Date.today + 1) false end def init_client end def before_quit_with_error end private def scrap if @options[:hourly] scrap_hourly else scrap_daily end end 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 data = data['rows'] header = data[0].keys @data = [header] @data += data.map do |datum| header.map { |key| datum[key] } end end 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 data = data['rows'] header = data[0].keys @data = [header] @data += data.map do |datum| header.map { |key| datum[key] } end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
adops_report_scrapper-0.2.25 | lib/adops_report_scrapper/popadsbuyer_client.rb |
adops_report_scrapper-0.2.24 | lib/adops_report_scrapper/popadsbuyer_client.rb |