kissmetrics 1.0.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/kissmetrics.gemspec +8 -8
- data/lib/kissmetrics/http_client.rb +2 -2
- data/spec/kissmetrics/http_client_spec.rb +13 -7
- metadata +64 -30
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
2.0.0
|
data/kissmetrics.gemspec
CHANGED
@@ -4,14 +4,14 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "
|
7
|
+
s.name = "kissmetrics"
|
8
|
+
s.version = "2.0.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Jason Morrison"]
|
12
|
-
s.date =
|
13
|
-
s.description =
|
14
|
-
s.email =
|
12
|
+
s.date = "2011-10-18"
|
13
|
+
s.description = "Use the KISSmetrics HTTP API to identify and alias users, track events, and set properties."
|
14
|
+
s.email = "jmorrison@thoughtbot.com"
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE.txt",
|
17
17
|
"README.rdoc"
|
@@ -31,11 +31,11 @@ Gem::Specification.new do |s|
|
|
31
31
|
"spec/kissmetrics/http_client_spec.rb",
|
32
32
|
"spec/spec_helper.rb"
|
33
33
|
]
|
34
|
-
s.homepage =
|
34
|
+
s.homepage = "http://github.com/jasonm/kissmetrics"
|
35
35
|
s.licenses = ["MIT"]
|
36
36
|
s.require_paths = ["lib"]
|
37
|
-
s.rubygems_version =
|
38
|
-
s.summary =
|
37
|
+
s.rubygems_version = "1.8.10"
|
38
|
+
s.summary = "A simple, clean wrapper around the KISSmetrics HTTP API"
|
39
39
|
|
40
40
|
if s.respond_to? :specification_version then
|
41
41
|
s.specification_version = 3
|
@@ -7,15 +7,17 @@ describe Kissmetrics::HttpClient, "class" do
|
|
7
7
|
end
|
8
8
|
|
9
9
|
describe Kissmetrics::HttpClient, "events" do
|
10
|
+
let(:event_url) { "http://trk.kissmetrics.com/e" }
|
11
|
+
|
10
12
|
subject { Kissmetrics::HttpClient.new("my-api-key") }
|
11
13
|
|
12
14
|
before do
|
13
|
-
stub_request(:get,
|
15
|
+
stub_request(:get, Regexp.new(event_url)).to_return(:body => "")
|
14
16
|
end
|
15
17
|
|
16
18
|
it "records events without properties" do
|
17
19
|
subject.record('identity', 'Signed Up')
|
18
|
-
WebMock.should have_requested(:get,
|
20
|
+
WebMock.should have_requested(:get, event_url).with({
|
19
21
|
:query => {
|
20
22
|
:_k => 'my-api-key',
|
21
23
|
:_p => 'identity',
|
@@ -26,7 +28,7 @@ describe Kissmetrics::HttpClient, "events" do
|
|
26
28
|
|
27
29
|
it "records events with properties" do
|
28
30
|
subject.record('identity', 'Signed Up', { 'Plan' => 'Medium', 'Duration' => 'Year' })
|
29
|
-
WebMock.should have_requested(:get,
|
31
|
+
WebMock.should have_requested(:get, event_url).with({
|
30
32
|
:query => {
|
31
33
|
:_k => 'my-api-key',
|
32
34
|
:_p => 'identity',
|
@@ -39,8 +41,10 @@ describe Kissmetrics::HttpClient, "events" do
|
|
39
41
|
end
|
40
42
|
|
41
43
|
describe Kissmetrics::HttpClient, "aliasing" do
|
44
|
+
let(:alias_url) { "http://trk.kissmetrics.com/a" }
|
45
|
+
|
42
46
|
before do
|
43
|
-
stub_request(:get,
|
47
|
+
stub_request(:get, Regexp.new(alias_url)).to_return(:body => "")
|
44
48
|
end
|
45
49
|
|
46
50
|
subject { Kissmetrics::HttpClient.new("my-api-key") }
|
@@ -48,7 +52,7 @@ describe Kissmetrics::HttpClient, "aliasing" do
|
|
48
52
|
it "aliases a person" do
|
49
53
|
subject.alias('old_identity', 'new_identity')
|
50
54
|
|
51
|
-
WebMock.should have_requested(:get,
|
55
|
+
WebMock.should have_requested(:get, alias_url).with({
|
52
56
|
:query => {
|
53
57
|
:_k => 'my-api-key',
|
54
58
|
:_p => 'old_identity',
|
@@ -59,8 +63,9 @@ describe Kissmetrics::HttpClient, "aliasing" do
|
|
59
63
|
end
|
60
64
|
|
61
65
|
describe Kissmetrics::HttpClient, "setting properties" do
|
66
|
+
let(:set_property_url) { "http://trk.kissmetrics.com/s" }
|
62
67
|
before do
|
63
|
-
stub_request(:get,
|
68
|
+
stub_request(:get, Regexp.new(set_property_url)).to_return(:body => "")
|
64
69
|
end
|
65
70
|
|
66
71
|
subject { Kissmetrics::HttpClient.new("my-api-key") }
|
@@ -71,7 +76,7 @@ describe Kissmetrics::HttpClient, "setting properties" do
|
|
71
76
|
'Background' => 'Gray'
|
72
77
|
})
|
73
78
|
|
74
|
-
WebMock.should have_requested(:get,
|
79
|
+
WebMock.should have_requested(:get, set_property_url).with({
|
75
80
|
:query => {
|
76
81
|
:_k => 'my-api-key',
|
77
82
|
:_p => 'identity',
|
@@ -86,6 +91,7 @@ describe Kissmetrics::HttpClient, "setting properties" do
|
|
86
91
|
Net::HTTP.stub(:new => http)
|
87
92
|
|
88
93
|
http.should_receive(:get).with(%r{Some\+property=Some\+value})
|
94
|
+
http.should_receive(:use_ssl=).with(false)
|
89
95
|
|
90
96
|
subject.set('identity', {
|
91
97
|
'Some property' => 'Some value'
|
metadata
CHANGED
@@ -1,8 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kissmetrics
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 15
|
4
5
|
prerelease:
|
5
|
-
|
6
|
+
segments:
|
7
|
+
- 2
|
8
|
+
- 0
|
9
|
+
- 0
|
10
|
+
version: 2.0.0
|
6
11
|
platform: ruby
|
7
12
|
authors:
|
8
13
|
- Jason Morrison
|
@@ -10,75 +15,102 @@ autorequire:
|
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
17
|
|
13
|
-
date: 2011-
|
14
|
-
default_executable:
|
18
|
+
date: 2011-10-18 00:00:00 Z
|
15
19
|
dependencies:
|
16
20
|
- !ruby/object:Gem::Dependency
|
17
|
-
|
18
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
21
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
19
22
|
none: false
|
20
23
|
requirements:
|
21
24
|
- - ~>
|
22
25
|
- !ruby/object:Gem::Version
|
26
|
+
hash: 3
|
27
|
+
segments:
|
28
|
+
- 2
|
29
|
+
- 3
|
30
|
+
- 0
|
23
31
|
version: 2.3.0
|
24
|
-
|
32
|
+
requirement: *id001
|
25
33
|
prerelease: false
|
26
|
-
|
34
|
+
name: rspec
|
35
|
+
type: :development
|
27
36
|
- !ruby/object:Gem::Dependency
|
28
|
-
|
29
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
37
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
30
38
|
none: false
|
31
39
|
requirements:
|
32
40
|
- - ~>
|
33
41
|
- !ruby/object:Gem::Version
|
42
|
+
hash: 7
|
43
|
+
segments:
|
44
|
+
- 0
|
45
|
+
- 6
|
46
|
+
- 0
|
34
47
|
version: 0.6.0
|
35
|
-
|
48
|
+
requirement: *id002
|
36
49
|
prerelease: false
|
37
|
-
|
50
|
+
name: yard
|
51
|
+
type: :development
|
38
52
|
- !ruby/object:Gem::Dependency
|
39
|
-
|
40
|
-
requirement: &id003 !ruby/object:Gem::Requirement
|
53
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
41
54
|
none: false
|
42
55
|
requirements:
|
43
56
|
- - ~>
|
44
57
|
- !ruby/object:Gem::Version
|
58
|
+
hash: 23
|
59
|
+
segments:
|
60
|
+
- 1
|
61
|
+
- 0
|
62
|
+
- 0
|
45
63
|
version: 1.0.0
|
46
|
-
|
64
|
+
requirement: *id003
|
47
65
|
prerelease: false
|
48
|
-
|
66
|
+
name: bundler
|
67
|
+
type: :development
|
49
68
|
- !ruby/object:Gem::Dependency
|
50
|
-
|
51
|
-
requirement: &id004 !ruby/object:Gem::Requirement
|
69
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
52
70
|
none: false
|
53
71
|
requirements:
|
54
72
|
- - ~>
|
55
73
|
- !ruby/object:Gem::Version
|
74
|
+
hash: 11
|
75
|
+
segments:
|
76
|
+
- 1
|
77
|
+
- 6
|
78
|
+
- 2
|
56
79
|
version: 1.6.2
|
57
|
-
|
80
|
+
requirement: *id004
|
58
81
|
prerelease: false
|
59
|
-
|
82
|
+
name: jeweler
|
83
|
+
type: :development
|
60
84
|
- !ruby/object:Gem::Dependency
|
61
|
-
|
62
|
-
requirement: &id005 !ruby/object:Gem::Requirement
|
85
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
63
86
|
none: false
|
64
87
|
requirements:
|
65
88
|
- - ">="
|
66
89
|
- !ruby/object:Gem::Version
|
90
|
+
hash: 3
|
91
|
+
segments:
|
92
|
+
- 0
|
67
93
|
version: "0"
|
68
|
-
|
94
|
+
requirement: *id005
|
69
95
|
prerelease: false
|
70
|
-
|
96
|
+
name: rcov
|
97
|
+
type: :development
|
71
98
|
- !ruby/object:Gem::Dependency
|
72
|
-
|
73
|
-
requirement: &id006 !ruby/object:Gem::Requirement
|
99
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
74
100
|
none: false
|
75
101
|
requirements:
|
76
102
|
- - ~>
|
77
103
|
- !ruby/object:Gem::Version
|
104
|
+
hash: 11
|
105
|
+
segments:
|
106
|
+
- 1
|
107
|
+
- 6
|
108
|
+
- 2
|
78
109
|
version: 1.6.2
|
79
|
-
|
110
|
+
requirement: *id006
|
80
111
|
prerelease: false
|
81
|
-
|
112
|
+
name: webmock
|
113
|
+
type: :development
|
82
114
|
description: Use the KISSmetrics HTTP API to identify and alias users, track events, and set properties.
|
83
115
|
email: jmorrison@thoughtbot.com
|
84
116
|
executables: []
|
@@ -102,7 +134,6 @@ files:
|
|
102
134
|
- lib/kissmetrics/http_client.rb
|
103
135
|
- spec/kissmetrics/http_client_spec.rb
|
104
136
|
- spec/spec_helper.rb
|
105
|
-
has_rdoc: true
|
106
137
|
homepage: http://github.com/jasonm/kissmetrics
|
107
138
|
licenses:
|
108
139
|
- MIT
|
@@ -116,7 +147,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
116
147
|
requirements:
|
117
148
|
- - ">="
|
118
149
|
- !ruby/object:Gem::Version
|
119
|
-
hash:
|
150
|
+
hash: 3
|
120
151
|
segments:
|
121
152
|
- 0
|
122
153
|
version: "0"
|
@@ -125,11 +156,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
125
156
|
requirements:
|
126
157
|
- - ">="
|
127
158
|
- !ruby/object:Gem::Version
|
159
|
+
hash: 3
|
160
|
+
segments:
|
161
|
+
- 0
|
128
162
|
version: "0"
|
129
163
|
requirements: []
|
130
164
|
|
131
165
|
rubyforge_project:
|
132
|
-
rubygems_version: 1.
|
166
|
+
rubygems_version: 1.8.10
|
133
167
|
signing_key:
|
134
168
|
specification_version: 3
|
135
169
|
summary: A simple, clean wrapper around the KISSmetrics HTTP API
|