Sha256: 56b8e6616360049009b8ba365e234dc594eed35e81c680feff5f6f6b17b46e83
Contents?: true
Size: 1.19 KB
Versions: 4
Compression:
Stored size: 1.19 KB
Contents
module Garb class ReportResponse # include Enumerable def initialize(response_body) @xml = response_body end def parse entries = Entry.parse(@xml) @results = entries.collect do |entry| hash = {} entry.metrics.each do |m| name = m.name.sub(/^ga\:/,'').underscored hash.merge!({name => m.value}) end entry.dimensions.each do |d| name = d.name.sub(/^ga\:/,'').underscored hash.merge!({name => d.value}) end OpenStruct.new(hash) end end def results @results || parse end class Metric include HappyMapper tag 'metric' namespace 'http://schemas.google.com/analytics/2009' attribute :name, String attribute :value, String end class Dimension include HappyMapper tag 'dimension' namespace 'http://schemas.google.com/analytics/2009' attribute :name, String attribute :value, String end class Entry include HappyMapper tag 'entry' has_many :metrics, Metric has_many :dimensions, Dimension end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
garb-0.4.0 | lib/garb/report_response.rb |
garb-0.3.2 | lib/garb/report_response.rb |
garb-0.3.1 | lib/garb/report_response.rb |
garb-0.3.0 | lib/garb/report_response.rb |