ga-measurements 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/ga-measurements.rb +28 -0
  2. metadata +79 -0
@@ -0,0 +1,28 @@
1
+ class GAMeasurements
2
+ require 'httparty'
3
+ require 'uuid'
4
+
5
+ include HTTParty
6
+
7
+ TYPES = %w(pageview event item transaction socia exception timing appview)
8
+ API_VERSION = 1
9
+ API_ENDPOINT = "https://ssl.google-analytics.com/collect"
10
+
11
+ attr_accessor :property_id, :client_id
12
+
13
+ def initialize(property_id, client_id = UUID.new.generate)
14
+ @property_id, @client_id = property_id, client_id
15
+ end
16
+
17
+ TYPES.each do |type|
18
+ define_method(type){ |params| post(type, params) }
19
+ end
20
+
21
+ private
22
+
23
+ def post(type, params)
24
+ payload = params.merge({t: type, tid: property_id, cid: client_id, v: API_VERSION})
25
+
26
+ response = self.class.post(API_ENDPOINT, { body: payload })
27
+ end
28
+ end
metadata ADDED
@@ -0,0 +1,79 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ga-measurements
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Nathan Carnes
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2014-02-07 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: uuid
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: httparty
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ description: A simple wrapper for Google Analytics' Universal Measurement API
47
+ email: nathan@carnesmedia.com
48
+ executables: []
49
+ extensions: []
50
+ extra_rdoc_files: []
51
+ files:
52
+ - lib/ga-measurements.rb
53
+ homepage: http://github.com/carnesmedia/ga-measurements
54
+ licenses:
55
+ - MIT
56
+ post_install_message:
57
+ rdoc_options: []
58
+ require_paths:
59
+ - lib
60
+ required_ruby_version: !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ required_rubygems_version: !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ! '>='
70
+ - !ruby/object:Gem::Version
71
+ version: '0'
72
+ requirements: []
73
+ rubyforge_project:
74
+ rubygems_version: 1.8.24
75
+ signing_key:
76
+ specification_version: 3
77
+ summary: A simple wrapper for Google Analytics' Universal Measurement API
78
+ test_files: []
79
+ has_rdoc: