class AdopsReportScrapper::RevcontentClient

Private Instance Methods

before_quit_with_error() click to toggle source
# File lib/adops_report_scrapper/revcontent_client.rb, line 11
def before_quit_with_error
end
init_client() click to toggle source
# File lib/adops_report_scrapper/revcontent_client.rb, line 8
def init_client
end
scrap() click to toggle source
# File lib/adops_report_scrapper/revcontent_client.rb, line 14
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