Sha256: 376beb6d9efa09f5067928ec279d246eca2993769c2f63527fa4f9ee72d09c1d
Contents?: true
Size: 1.24 KB
Versions: 1
Compression:
Stored size: 1.24 KB
Contents
require 'date' require_relative 'base_client' require 'rest-client' class AdopsReportScrapper::RevcontentClient < AdopsReportScrapper::BaseClient def date_supported?(date = nil) _date = date || @date return true if _date < Date.today false end private def init_client end def before_quit_with_error end def scrap date_str = @date.strftime('%Y-%m-%d') headers = { cache_control: 'no-cache' } response = RestClient.post 'https://api.revcontent.io/oauth/token', { grant_type: 'client_credentials', client_id: @login, client_secret: @secret }, headers data = JSON.parse response token = data['access_token'] headers = { authorization: "Bearer #{token}", content_type: :json, cache_control: 'no-cache' } data = [] %w(desktoplg desktop tablet mobile unknown).each do |device| response = RestClient.get "https://api.revcontent.io/stats/api/v1.0/widgets?date_from=#{date_str}&date_to=#{date_str}&device=#{device}", headers _data = JSON.parse response _data = _data['data'] _data.each { |datum| datum['device'] = device } data += _data end header = data[0].keys @data = [header] @data += data.map do |datum| header.map { |key| datum[key] } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
adops_report_scrapper-0.2.42 | lib/adops_report_scrapper/revcontent_client.rb |