class AdtekioAdnetworks::Revenue::Adcolony
Constants
- BASE_URL
- CsvOptions
Public Instance Methods
csv_data(date)
click to toggle source
# File lib/adtekio_adnetworks/importers/revenue/adcolony.rb, line 56 def csv_data(date) uri = Addressable::URI.new uri.query_values = { :user_credentials => credentials.api_key, :date => date.strftime("%m%d%Y"), :format => 'csv', } datauri = URI.parse("%s?%s" % [BASE_URL, uri.query]) Net::HTTP::Persistent.new('adcolony').request(datauri).body end
report(from, to)
click to toggle source
# File lib/adtekio_adnetworks/importers/revenue/adcolony.rb, line 46 def report(from, to) (from..to).map do |day| csv_data(day) end end
revenues(from, to)
click to toggle source
# File lib/adtekio_adnetworks/importers/revenue/adcolony.rb, line 16 def revenues(from, to) (from..to).map do |day| store = Hash.new {|h,k| h[k] = Hash.new { |h1,k1| h1[k1]=Hash.new(0)}} csv_data = csv_data(day) CSV(csv_data, CsvOptions).each do |row| next if zero_row?(row) hsh = store[row["App Name"]][row["Start Date"]] ["Earnings ($)", "Clicks", "Impressions", "Requests"]. each do |colname| hsh[colname] += row[colname].to_f end end store.map do |title, data| data.map do |date, hsh| { :impressions => hsh["Impressions"].to_i, :requests => hsh["Requests"].to_i, :clicks => hsh["Clicks"].to_i, :amount => hsh["Earnings ($)"].to_f, :date => Date.strptime(date, "%Y-%m-%d"), :appname => title } end end.flatten end.flatten end
zero_row?(csvrow)
click to toggle source
# File lib/adtekio_adnetworks/importers/revenue/adcolony.rb, line 52 def zero_row?(csvrow) csvrow["Earnings ($)"] == "0" && csvrow["Impressions"] == "0" end