analytics-ruby 2.0.3 → 2.0.5
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/Gemfile.lock +14 -1
- data/History.md +4 -0
- data/analytics-ruby.gemspec +2 -0
- data/lib/segment/analytics/client.rb +1 -0
- data/lib/segment/analytics/utils.rb +4 -3
- data/lib/segment/analytics/version.rb +1 -1
- data/spec/segment/analytics/client_spec.rb +39 -2
- data/spec/spec_helper.rb +4 -0
- metadata +34 -9
data/Gemfile.lock
CHANGED
@@ -1,12 +1,19 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
analytics-ruby (2.0.
|
4
|
+
analytics-ruby (2.0.5)
|
5
|
+
json (~> 1.7)
|
5
6
|
|
6
7
|
GEM
|
7
8
|
remote: http://rubygems.org/
|
8
9
|
specs:
|
10
|
+
activesupport (3.2.18)
|
11
|
+
i18n (~> 0.6, >= 0.6.4)
|
12
|
+
multi_json (~> 1.0)
|
9
13
|
diff-lcs (1.2.5)
|
14
|
+
i18n (0.6.9)
|
15
|
+
json (1.8.1)
|
16
|
+
multi_json (1.10.1)
|
10
17
|
predicated (0.2.6)
|
11
18
|
rake (10.3.1)
|
12
19
|
rspec (2.14.1)
|
@@ -23,6 +30,10 @@ GEM
|
|
23
30
|
ruby_parser (3.6.1)
|
24
31
|
sexp_processor (~> 4.1)
|
25
32
|
sexp_processor (4.4.3)
|
33
|
+
thread_safe (0.3.4)
|
34
|
+
thread_safe (0.3.4-java)
|
35
|
+
tzinfo (1.2.1)
|
36
|
+
thread_safe (~> 0.1)
|
26
37
|
wrong (0.7.1)
|
27
38
|
diff-lcs (~> 1.2.5)
|
28
39
|
predicated (~> 0.2.6)
|
@@ -41,7 +52,9 @@ PLATFORMS
|
|
41
52
|
ruby
|
42
53
|
|
43
54
|
DEPENDENCIES
|
55
|
+
activesupport (>= 3.0.0, < 4.0.0)
|
44
56
|
analytics-ruby!
|
45
57
|
rake (~> 10.3)
|
46
58
|
rspec (~> 2.0)
|
59
|
+
tzinfo (= 1.2.1)
|
47
60
|
wrong (~> 0.0)
|
data/History.md
CHANGED
data/analytics-ruby.gemspec
CHANGED
@@ -18,4 +18,6 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.add_development_dependency 'rake', '~> 10.3'
|
19
19
|
spec.add_development_dependency 'wrong', '~> 0.0'
|
20
20
|
spec.add_development_dependency 'rspec', '~> 2.0'
|
21
|
+
spec.add_development_dependency 'tzinfo', '1.2.1'
|
22
|
+
spec.add_development_dependency 'activesupport', '>= 3.0.0', '<4.0.0'
|
21
23
|
end
|
@@ -49,10 +49,11 @@ module Segment
|
|
49
49
|
end
|
50
50
|
|
51
51
|
def datetime_in_iso8601 datetime
|
52
|
-
|
52
|
+
case datetime
|
53
|
+
when Time, DateTime
|
54
|
+
time_in_iso8601 datetime
|
55
|
+
when Date
|
53
56
|
date_in_iso8601 datetime
|
54
|
-
elsif datetime.is_a? Time
|
55
|
-
time_in_iso8601 datetime
|
56
57
|
else
|
57
58
|
datetime
|
58
59
|
end
|
@@ -65,17 +65,23 @@ module Segment
|
|
65
65
|
@queue.pop
|
66
66
|
end
|
67
67
|
|
68
|
-
it 'should convert
|
68
|
+
it 'should convert time and date traits into iso8601 format' do
|
69
69
|
@client.track({
|
70
70
|
:user_id => 'user',
|
71
71
|
:event => 'Event',
|
72
72
|
:properties => {
|
73
73
|
:time => Time.utc(2013),
|
74
|
+
:time_with_zone => Time.zone.parse('2013-01-01'),
|
75
|
+
:date_time => DateTime.new(2013,1,1),
|
76
|
+
:date => Date.new(2013,1,1),
|
74
77
|
:nottime => 'x'
|
75
78
|
}
|
76
79
|
})
|
77
80
|
message = @queue.pop
|
78
81
|
message[:properties][:time].should == '2013-01-01T00:00:00Z'
|
82
|
+
message[:properties][:time_with_zone].should == '2013-01-01T00:00:00Z'
|
83
|
+
message[:properties][:date_time].should == '2013-01-01T00:00:00Z'
|
84
|
+
message[:properties][:date].should == '2013-01-01'
|
79
85
|
message[:properties][:nottime].should == 'x'
|
80
86
|
end
|
81
87
|
end
|
@@ -101,16 +107,22 @@ module Segment
|
|
101
107
|
@queue.pop
|
102
108
|
end
|
103
109
|
|
104
|
-
it 'should convert
|
110
|
+
it 'should convert time and date traits into iso8601 format' do
|
105
111
|
@client.identify({
|
106
112
|
:user_id => 'user',
|
107
113
|
:traits => {
|
108
114
|
:time => Time.utc(2013),
|
115
|
+
:time_with_zone => Time.zone.parse('2013-01-01'),
|
116
|
+
:date_time => DateTime.new(2013,1,1),
|
117
|
+
:date => Date.new(2013,1,1),
|
109
118
|
:nottime => 'x'
|
110
119
|
}
|
111
120
|
})
|
112
121
|
message = @queue.pop
|
113
122
|
message[:traits][:time].should == '2013-01-01T00:00:00Z'
|
123
|
+
message[:traits][:time_with_zone].should == '2013-01-01T00:00:00Z'
|
124
|
+
message[:traits][:date_time].should == '2013-01-01T00:00:00Z'
|
125
|
+
message[:traits][:date].should == '2013-01-01'
|
114
126
|
message[:traits][:nottime].should == 'x'
|
115
127
|
end
|
116
128
|
end
|
@@ -140,6 +152,11 @@ module Segment
|
|
140
152
|
describe '#group' do
|
141
153
|
before :all do
|
142
154
|
@client = Client.new :write_key => WRITE_KEY
|
155
|
+
@queue = @client.instance_variable_get :@queue
|
156
|
+
end
|
157
|
+
|
158
|
+
after :each do
|
159
|
+
@client.flush
|
143
160
|
end
|
144
161
|
|
145
162
|
it 'should error without group_id' do
|
@@ -157,6 +174,26 @@ module Segment
|
|
157
174
|
it 'should not error with the required options as strings' do
|
158
175
|
@client.group Utils.stringify_keys(Queued::GROUP)
|
159
176
|
end
|
177
|
+
|
178
|
+
it 'should convert time and date traits into iso8601 format' do
|
179
|
+
@client.identify({
|
180
|
+
:user_id => 'user',
|
181
|
+
:group_id => 'group',
|
182
|
+
:traits => {
|
183
|
+
:time => Time.utc(2013),
|
184
|
+
:time_with_zone => Time.zone.parse('2013-01-01'),
|
185
|
+
:date_time => DateTime.new(2013,1,1),
|
186
|
+
:date => Date.new(2013,1,1),
|
187
|
+
:nottime => 'x'
|
188
|
+
}
|
189
|
+
})
|
190
|
+
message = @queue.pop
|
191
|
+
message[:traits][:time].should == '2013-01-01T00:00:00Z'
|
192
|
+
message[:traits][:time_with_zone].should == '2013-01-01T00:00:00Z'
|
193
|
+
message[:traits][:date_time].should == '2013-01-01T00:00:00Z'
|
194
|
+
message[:traits][:date].should == '2013-01-01'
|
195
|
+
message[:traits][:nottime].should == 'x'
|
196
|
+
end
|
160
197
|
end
|
161
198
|
|
162
199
|
describe '#page' do
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: analytics-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-06-
|
12
|
+
date: 2014-06-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
16
|
-
requirement: &
|
16
|
+
requirement: &18470280 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '10.3'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *18470280
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: wrong
|
27
|
-
requirement: &
|
27
|
+
requirement: &18469780 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0.0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *18469780
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &18469320 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,14 +43,39 @@ dependencies:
|
|
43
43
|
version: '2.0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *18469320
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: tzinfo
|
49
|
+
requirement: &18468860 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - =
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.2.1
|
55
|
+
type: :development
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *18468860
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: activesupport
|
60
|
+
requirement: &18468380 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: 3.0.0
|
66
|
+
- - <
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 4.0.0
|
69
|
+
type: :development
|
70
|
+
prerelease: false
|
71
|
+
version_requirements: *18468380
|
47
72
|
description: The Segment.io ruby analytics library
|
48
73
|
email: friends@segment.io
|
49
74
|
executables: []
|
50
75
|
extensions: []
|
51
76
|
extra_rdoc_files: []
|
52
77
|
files:
|
53
|
-
- analytics-ruby-2.0.
|
78
|
+
- analytics-ruby-2.0.5.gem
|
54
79
|
- analytics-ruby.gemspec
|
55
80
|
- Gemfile
|
56
81
|
- Gemfile.lock
|