module GaTrackable

Constants

InvalidConfigurationError
VERSION

Public Class Methods

analytics() click to toggle source
# File lib/ga_trackable.rb, line 50
def analytics
  @analytics ||= client.discovered_api('analytics', 'v3')
end
client() click to toggle source
# File lib/ga_trackable.rb, line 37
def client
  @client ||= begin
                client = Google::APIClient.new(
                  application_name: config.app_name,
                  application_version: config.app_version
                )
                key = Google::APIClient::PKCS12.load_key(config.secret_path, config.secret_key)
                service_account = Google::APIClient::JWTAsserter.new(config.issuer_email, config.scope, key)
                client.authorization = service_account.authorize
                client
              end
end
config() click to toggle source
# File lib/ga_trackable.rb, line 33
def config
  @config || raise(InvalidConfigurationError, 'GaTrackable is not configured!')
end
reset() click to toggle source
# File lib/ga_trackable.rb, line 29
def reset
  @config = nil
end
setup(&blk) click to toggle source
# File lib/ga_trackable.rb, line 18
def setup(&blk)
  @config ||= GaTrackable::Configuration.new(&blk)

  if @config.invalid?
    msg = "GaTrackable configuration ERROR:\n"
    raise InvalidConfigurationError, msg + @config.errors.full_messages.join("\n")
  end

  @config
end