module UniteParser
require 'debugger'
Constants
- VERSION
Public Class Methods
parse(xlsx_file)
click to toggle source
Parse impressions and clicks for each valid Adtag campaign in the XLSX file
# File lib/unite_parser.rb, line 6 def self.parse(xlsx_file) xlsx = Roo::Excelx.new xlsx_file {}.tap do |campaigns| xlsx.first_row.upto(xlsx.last_row) do |line| name = xlsx.cell line, 'A' if campaign_id = extract_campaign_id_from(name) impressions = xlsx.cell line, 'B' clicks = xlsx.cell line, 'C' campaigns[campaign_id] = {impressions: impressions, clicks: clicks} end end end end
Private Class Methods
extract_campaign_id_from(name)
click to toggle source
Return campaign_id if name specifies an Adtag campaign
# File lib/unite_parser.rb, line 23 def self.extract_campaign_id_from(name) name.match %r{^Top Spin: (\d+).+} do |match| match[1] end end