Sha256: 32f254351593102642e59fcb7956e5f1fb63aa7efe590227bce0911027bc4648
Contents?: true
Size: 1.19 KB
Versions: 2
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/dataexport/2009' attribute :name, String attribute :value, String end class Dimension include HappyMapper tag 'dimension' namespace 'http://schemas.google.com/dataexport/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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
garb-0.2.9 | lib/garb/report_response.rb |
garb-0.2.8 | lib/garb/report_response.rb |