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