class MostPopular::Analytics::GoogleAnalytics
Public Class Methods
new(client, api_method, profile_id, filter)
click to toggle source
Don’t call GoogleAnalytics.new
directly. Use GoogleAnalyticsBuilder
instead. See unit tests
# File lib/most-popular/google_analytics.rb, line 7 def initialize(client, api_method, profile_id, filter) @client = client @api_method = api_method @profile_id = profile_id @filter = filter end
Public Instance Methods
summarize(args={})
click to toggle source
# File lib/most-popular/google_analytics.rb, line 14 def summarize(args={}) args = defaults.merge(args) results = @client.execute( :api_method => @api_method, :parameters => query_hash(args)) results.data.rows end
Private Instance Methods
defaults()
click to toggle source
# File lib/most-popular/google_analytics.rb, line 24 def defaults {start_date: 'yesterday', end_date: 'today', num_results: 10 } end
query_hash(args)
click to toggle source
# File lib/most-popular/google_analytics.rb, line 28 def query_hash(args) { 'ids' => "ga:" + @profile_id, 'start-date' => args[:start_date], 'end-date' => args[:end_date], 'dimensions' => 'ga:pagePath', 'metrics' => 'ga:pageviews', 'sort' => '-ga:pageviews', 'filters' => 'ga:pagePath=~^/' + @filter.to_s + '/.*', 'max-results' => args[:num_results] } end