class MostPopular::Analytics::GoogleAnalyticsBuilder
Public Instance Methods
api(api)
click to toggle source
# File lib/most-popular/google_analytics.rb, line 59 def api(api) raise 'API not yet supported' unless api == :api_v3 @api_name = 'analytics' @api_version = 'v3' end
application(args)
click to toggle source
# File lib/most-popular/google_analytics.rb, line 54 def application(args) @application_name = args[:application_name] @application_version = args[:application_version] end
build()
click to toggle source
# File lib/most-popular/google_analytics.rb, line 69 def build #TODO check if account is set up or else raise exception client = Google::APIClient.new( :application_name => @application_name, :application_version => @application_version ) key = Google::APIClient::KeyUtils.load_from_pkcs12(@key_file, @key_secret) client.authorization = Signet::OAuth2::Client.new( :token_credential_uri => 'https://accounts.google.com/o/oauth2/token', :audience => 'https://accounts.google.com/o/oauth2/token', :scope => 'https://www.googleapis.com/auth/analytics.readonly', :issuer => @service_account_email, :signing_key => key) client.authorization.fetch_access_token! api_method = client.discovered_api(@api_name, @api_version).data.ga.get GoogleAnalytics.new(client, api_method, @profile_id, @filter) end
filter(args)
click to toggle source
# File lib/most-popular/google_analytics.rb, line 65 def filter(args) @filter = args[:filter] end
key_file(args)
click to toggle source
# File lib/most-popular/google_analytics.rb, line 49 def key_file(args) @key_file = args[:filename] @key_secret = args[:secret] end
service_account(args)
click to toggle source
# File lib/most-popular/google_analytics.rb, line 44 def service_account(args) @service_account_email = args[:service_account_email] @profile_id = args[:profile_id] end