Class: MostPopular::Analytics::GoogleAnalyticsBuilder
- Inherits:
-
Object
- Object
- MostPopular::Analytics::GoogleAnalyticsBuilder
- Defined in:
- lib/most-popular/google_analytics.rb
Instance Method Summary collapse
- #api(api) ⇒ Object
- #application(args) ⇒ Object
- #build ⇒ Object
- #filter(args) ⇒ Object
- #key_file(args) ⇒ Object
- #service_account(args) ⇒ Object
Instance Method Details
#api(api) ⇒ Object
59 60 61 62 63 |
# 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) ⇒ Object
54 55 56 57 |
# File 'lib/most-popular/google_analytics.rb', line 54 def application(args) @application_name = args[:application_name] @application_version = args[:application_version] end |
#build ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# 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. = 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..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) ⇒ Object
65 66 67 |
# File 'lib/most-popular/google_analytics.rb', line 65 def filter(args) @filter = args[:filter] end |
#key_file(args) ⇒ Object
49 50 51 52 |
# 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) ⇒ Object
44 45 46 47 |
# 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 |