test_track_rails_client 0.9.6 → 0.9.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/Rakefile +1 -1
- data/app/models/test_track/ab_configuration.rb +7 -5
- data/app/models/test_track/misconfiguration_notifier.rb +11 -0
- data/app/models/test_track/vary_dsl.rb +8 -5
- data/lib/test_track.rb +1 -1
- data/lib/test_track_rails_client/engine.rb +4 -2
- data/lib/test_track_rails_client/version.rb +1 -1
- metadata +20 -46
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
ZDE4YzcwZWEyYjdlYjJhM2NkZDVjYjEyOGUwNzJiNzQyNWEwNGRlOQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
MTkyNjFkM2E4ODczYTM3Mjc0ZDA1NTk3Mzc1NTI1YTBhNTZhZmJmMA==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
NmFkNGQ5NzBjYjk0N2RlMjI2MWFiMmNhOGQ0M2RjNmFlOTczMDlmN2FlYzIw
|
10
|
+
MjQ2ZWU3NDZiOWI0MjFmYzhmZDQ0M2Y3Zjk0YjI5MDQ0MTE2Mzg0YjdhMTk2
|
11
|
+
MmVhZDg1MjdkZmQwYTI1OGMzODBmYmE2MGQ0YzYyOTE0N2VjZmU=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
MWFkOGM2MDcwMjQ0Yzc3OGQ4NTU5YTQ1ODI1ZGUwOTJjYjMwYjFhYWZiNzIz
|
14
|
+
NTNkOGU2Y2QxNTRlMTI2NWVhMDAyZDk2YjkxOTdmNDZlYmQyMmQ4Mjc1MjQx
|
15
|
+
YjVkNjMyZDc0ZTE1ZDlhYzcyM2YyMzhjOTFjNGQ2MmQyNTU5YmU=
|
data/Rakefile
CHANGED
@@ -36,7 +36,7 @@ task :vendor_deps do
|
|
36
36
|
FileUtils.module_eval do
|
37
37
|
cd "vendor/gems" do
|
38
38
|
rm_r Dir.glob('*')
|
39
|
-
%w(ruby_spec_helpers her fakeable_her).each do |repo|
|
39
|
+
%w(ruby_spec_helpers her fakeable_her publicsuffix-ruby).each do |repo|
|
40
40
|
`git clone --depth=1 git@github.com:Betterment/#{repo}.git && rm -rf #{repo}/.git`
|
41
41
|
end
|
42
42
|
end
|
@@ -19,7 +19,7 @@ class TestTrack::ABConfiguration
|
|
19
19
|
private
|
20
20
|
|
21
21
|
def build_variant_hash
|
22
|
-
|
22
|
+
notify_because_ab("configures split with more than 2 variants") if split_variants && split_variants.size > 2
|
23
23
|
{ true: true_variant, false: false_variant }
|
24
24
|
end
|
25
25
|
|
@@ -45,9 +45,11 @@ class TestTrack::ABConfiguration
|
|
45
45
|
split_variants - [true_variant.to_s] if split_variants
|
46
46
|
end
|
47
47
|
|
48
|
-
def
|
49
|
-
|
50
|
-
|
51
|
-
|
48
|
+
def notify_because_ab(msg)
|
49
|
+
misconfiguration_notifier.notify("A/B for \"#{split_name}\" #{msg}")
|
50
|
+
end
|
51
|
+
|
52
|
+
def misconfiguration_notifier
|
53
|
+
@misconfiguration_notifier ||= TestTrack::MisconfigurationNotifier.new
|
52
54
|
end
|
53
55
|
end
|
@@ -37,9 +37,12 @@ class TestTrack::VaryDSL
|
|
37
37
|
@split_variants ||= split.keys if split_registry
|
38
38
|
end
|
39
39
|
|
40
|
-
def
|
41
|
-
|
42
|
-
|
40
|
+
def notify_because_vary(msg)
|
41
|
+
misconfiguration_notifier.notify("vary for \"#{split_name}\" #{msg}")
|
42
|
+
end
|
43
|
+
|
44
|
+
def misconfiguration_notifier
|
45
|
+
@misconfiguration_notifier ||= TestTrack::MisconfigurationNotifier.new
|
43
46
|
end
|
44
47
|
|
45
48
|
def variant_behaviors
|
@@ -50,7 +53,7 @@ class TestTrack::VaryDSL
|
|
50
53
|
variant = variant.to_s
|
51
54
|
|
52
55
|
raise ArgumentError, "must provide block for #{variant}" unless behavior_proc
|
53
|
-
|
56
|
+
notify_because_vary "configures unknown variant \"#{variant}\"" unless variant_acceptable?(variant)
|
54
57
|
|
55
58
|
variant_behaviors[variant] = behavior_proc
|
56
59
|
variant
|
@@ -83,6 +86,6 @@ class TestTrack::VaryDSL
|
|
83
86
|
raise ArgumentError, "must provide at least one `when`" unless variant_behaviors.size >= 2
|
84
87
|
return true unless split_variants
|
85
88
|
missing_variants = split_variants - variant_behaviors.keys
|
86
|
-
|
89
|
+
notify_because_vary("does not configure variants #{missing_variants.to_sentence}") && false unless missing_variants.empty?
|
87
90
|
end
|
88
91
|
end
|
data/lib/test_track.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# Source vendored gems the hard way in all environments
|
2
|
-
%w(her fakeable_her).each do |gem_name|
|
2
|
+
%w(her fakeable_her public_suffix).each do |gem_name|
|
3
3
|
lib = File.expand_path("../../vendor/gems/#{gem_name}/lib", __FILE__)
|
4
4
|
$LOAD_PATH.push(lib) unless $LOAD_PATH.include?(lib)
|
5
5
|
require gem_name
|
@@ -1,6 +1,8 @@
|
|
1
|
-
require 'airbrake'
|
2
1
|
require 'delayed_job'
|
3
|
-
require '
|
2
|
+
require 'airbrake'
|
3
|
+
unless defined?(Delayed::Plugins::Airbrake) && Delayed::Worker.plugins.include?(Delayed::Plugins::Airbrake)
|
4
|
+
require 'delayed-plugins-airbrake'
|
5
|
+
end
|
4
6
|
require 'test_track'
|
5
7
|
|
6
8
|
module TestTrackRailsClient
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: test_track_rails_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
5
|
-
prerelease:
|
4
|
+
version: 0.9.7
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Ryan O'Neill
|
@@ -14,28 +13,31 @@ authors:
|
|
14
13
|
autorequire:
|
15
14
|
bindir: bin
|
16
15
|
cert_chain: []
|
17
|
-
date: 2016-10-
|
16
|
+
date: 2016-10-25 00:00:00.000000000 Z
|
18
17
|
dependencies:
|
19
18
|
- !ruby/object:Gem::Dependency
|
20
19
|
name: rails
|
21
20
|
requirement: !ruby/object:Gem::Requirement
|
22
|
-
none: false
|
23
21
|
requirements:
|
24
|
-
- -
|
22
|
+
- - ! '>='
|
25
23
|
- !ruby/object:Gem::Version
|
26
24
|
version: '4.1'
|
25
|
+
- - <
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '6.0'
|
27
28
|
type: :runtime
|
28
29
|
prerelease: false
|
29
30
|
version_requirements: !ruby/object:Gem::Requirement
|
30
|
-
none: false
|
31
31
|
requirements:
|
32
|
-
- -
|
32
|
+
- - ! '>='
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: '4.1'
|
35
|
+
- - <
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '6.0'
|
35
38
|
- !ruby/object:Gem::Dependency
|
36
39
|
name: faraday
|
37
40
|
requirement: !ruby/object:Gem::Requirement
|
38
|
-
none: false
|
39
41
|
requirements:
|
40
42
|
- - ! '>='
|
41
43
|
- !ruby/object:Gem::Version
|
@@ -46,7 +48,6 @@ dependencies:
|
|
46
48
|
type: :runtime
|
47
49
|
prerelease: false
|
48
50
|
version_requirements: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
51
|
requirements:
|
51
52
|
- - ! '>='
|
52
53
|
- !ruby/object:Gem::Version
|
@@ -57,7 +58,6 @@ dependencies:
|
|
57
58
|
- !ruby/object:Gem::Dependency
|
58
59
|
name: faraday_middleware
|
59
60
|
requirement: !ruby/object:Gem::Requirement
|
60
|
-
none: false
|
61
61
|
requirements:
|
62
62
|
- - ! '>='
|
63
63
|
- !ruby/object:Gem::Version
|
@@ -65,7 +65,6 @@ dependencies:
|
|
65
65
|
type: :runtime
|
66
66
|
prerelease: false
|
67
67
|
version_requirements: !ruby/object:Gem::Requirement
|
68
|
-
none: false
|
69
68
|
requirements:
|
70
69
|
- - ! '>='
|
71
70
|
- !ruby/object:Gem::Version
|
@@ -73,7 +72,6 @@ dependencies:
|
|
73
72
|
- !ruby/object:Gem::Dependency
|
74
73
|
name: public_suffix
|
75
74
|
requirement: !ruby/object:Gem::Requirement
|
76
|
-
none: false
|
77
75
|
requirements:
|
78
76
|
- - ~>
|
79
77
|
- !ruby/object:Gem::Version
|
@@ -81,7 +79,6 @@ dependencies:
|
|
81
79
|
type: :runtime
|
82
80
|
prerelease: false
|
83
81
|
version_requirements: !ruby/object:Gem::Requirement
|
84
|
-
none: false
|
85
82
|
requirements:
|
86
83
|
- - ~>
|
87
84
|
- !ruby/object:Gem::Version
|
@@ -89,7 +86,6 @@ dependencies:
|
|
89
86
|
- !ruby/object:Gem::Dependency
|
90
87
|
name: mixpanel-ruby
|
91
88
|
requirement: !ruby/object:Gem::Requirement
|
92
|
-
none: false
|
93
89
|
requirements:
|
94
90
|
- - ~>
|
95
91
|
- !ruby/object:Gem::Version
|
@@ -97,7 +93,6 @@ dependencies:
|
|
97
93
|
type: :runtime
|
98
94
|
prerelease: false
|
99
95
|
version_requirements: !ruby/object:Gem::Requirement
|
100
|
-
none: false
|
101
96
|
requirements:
|
102
97
|
- - ~>
|
103
98
|
- !ruby/object:Gem::Version
|
@@ -105,7 +100,6 @@ dependencies:
|
|
105
100
|
- !ruby/object:Gem::Dependency
|
106
101
|
name: delayed_job
|
107
102
|
requirement: !ruby/object:Gem::Requirement
|
108
|
-
none: false
|
109
103
|
requirements:
|
110
104
|
- - ~>
|
111
105
|
- !ruby/object:Gem::Version
|
@@ -113,7 +107,6 @@ dependencies:
|
|
113
107
|
type: :runtime
|
114
108
|
prerelease: false
|
115
109
|
version_requirements: !ruby/object:Gem::Requirement
|
116
|
-
none: false
|
117
110
|
requirements:
|
118
111
|
- - ~>
|
119
112
|
- !ruby/object:Gem::Version
|
@@ -121,7 +114,6 @@ dependencies:
|
|
121
114
|
- !ruby/object:Gem::Dependency
|
122
115
|
name: delayed_job_active_record
|
123
116
|
requirement: !ruby/object:Gem::Requirement
|
124
|
-
none: false
|
125
117
|
requirements:
|
126
118
|
- - ! '>='
|
127
119
|
- !ruby/object:Gem::Version
|
@@ -129,7 +121,6 @@ dependencies:
|
|
129
121
|
type: :runtime
|
130
122
|
prerelease: false
|
131
123
|
version_requirements: !ruby/object:Gem::Requirement
|
132
|
-
none: false
|
133
124
|
requirements:
|
134
125
|
- - ! '>='
|
135
126
|
- !ruby/object:Gem::Version
|
@@ -137,23 +128,20 @@ dependencies:
|
|
137
128
|
- !ruby/object:Gem::Dependency
|
138
129
|
name: airbrake
|
139
130
|
requirement: !ruby/object:Gem::Requirement
|
140
|
-
none: false
|
141
131
|
requirements:
|
142
|
-
- -
|
132
|
+
- - ! '>='
|
143
133
|
- !ruby/object:Gem::Version
|
144
134
|
version: '4.1'
|
145
135
|
type: :runtime
|
146
136
|
prerelease: false
|
147
137
|
version_requirements: !ruby/object:Gem::Requirement
|
148
|
-
none: false
|
149
138
|
requirements:
|
150
|
-
- -
|
139
|
+
- - ! '>='
|
151
140
|
- !ruby/object:Gem::Version
|
152
141
|
version: '4.1'
|
153
142
|
- !ruby/object:Gem::Dependency
|
154
143
|
name: delayed-plugins-airbrake
|
155
144
|
requirement: !ruby/object:Gem::Requirement
|
156
|
-
none: false
|
157
145
|
requirements:
|
158
146
|
- - ! '>='
|
159
147
|
- !ruby/object:Gem::Version
|
@@ -161,7 +149,6 @@ dependencies:
|
|
161
149
|
type: :runtime
|
162
150
|
prerelease: false
|
163
151
|
version_requirements: !ruby/object:Gem::Requirement
|
164
|
-
none: false
|
165
152
|
requirements:
|
166
153
|
- - ! '>='
|
167
154
|
- !ruby/object:Gem::Version
|
@@ -169,7 +156,6 @@ dependencies:
|
|
169
156
|
- !ruby/object:Gem::Dependency
|
170
157
|
name: request_store
|
171
158
|
requirement: !ruby/object:Gem::Requirement
|
172
|
-
none: false
|
173
159
|
requirements:
|
174
160
|
- - ~>
|
175
161
|
- !ruby/object:Gem::Version
|
@@ -177,7 +163,6 @@ dependencies:
|
|
177
163
|
type: :runtime
|
178
164
|
prerelease: false
|
179
165
|
version_requirements: !ruby/object:Gem::Requirement
|
180
|
-
none: false
|
181
166
|
requirements:
|
182
167
|
- - ~>
|
183
168
|
- !ruby/object:Gem::Version
|
@@ -185,7 +170,6 @@ dependencies:
|
|
185
170
|
- !ruby/object:Gem::Dependency
|
186
171
|
name: pry-rails
|
187
172
|
requirement: !ruby/object:Gem::Requirement
|
188
|
-
none: false
|
189
173
|
requirements:
|
190
174
|
- - ! '>='
|
191
175
|
- !ruby/object:Gem::Version
|
@@ -193,7 +177,6 @@ dependencies:
|
|
193
177
|
type: :development
|
194
178
|
prerelease: false
|
195
179
|
version_requirements: !ruby/object:Gem::Requirement
|
196
|
-
none: false
|
197
180
|
requirements:
|
198
181
|
- - ! '>='
|
199
182
|
- !ruby/object:Gem::Version
|
@@ -201,7 +184,6 @@ dependencies:
|
|
201
184
|
- !ruby/object:Gem::Dependency
|
202
185
|
name: timecop
|
203
186
|
requirement: !ruby/object:Gem::Requirement
|
204
|
-
none: false
|
205
187
|
requirements:
|
206
188
|
- - ! '>='
|
207
189
|
- !ruby/object:Gem::Version
|
@@ -209,7 +191,6 @@ dependencies:
|
|
209
191
|
type: :development
|
210
192
|
prerelease: false
|
211
193
|
version_requirements: !ruby/object:Gem::Requirement
|
212
|
-
none: false
|
213
194
|
requirements:
|
214
195
|
- - ! '>='
|
215
196
|
- !ruby/object:Gem::Version
|
@@ -217,7 +198,6 @@ dependencies:
|
|
217
198
|
- !ruby/object:Gem::Dependency
|
218
199
|
name: rubocop
|
219
200
|
requirement: !ruby/object:Gem::Requirement
|
220
|
-
none: false
|
221
201
|
requirements:
|
222
202
|
- - ! '>='
|
223
203
|
- !ruby/object:Gem::Version
|
@@ -225,7 +205,6 @@ dependencies:
|
|
225
205
|
type: :development
|
226
206
|
prerelease: false
|
227
207
|
version_requirements: !ruby/object:Gem::Requirement
|
228
|
-
none: false
|
229
208
|
requirements:
|
230
209
|
- - ! '>='
|
231
210
|
- !ruby/object:Gem::Version
|
@@ -233,7 +212,6 @@ dependencies:
|
|
233
212
|
- !ruby/object:Gem::Dependency
|
234
213
|
name: webmock
|
235
214
|
requirement: !ruby/object:Gem::Requirement
|
236
|
-
none: false
|
237
215
|
requirements:
|
238
216
|
- - ! '>='
|
239
217
|
- !ruby/object:Gem::Version
|
@@ -241,7 +219,6 @@ dependencies:
|
|
241
219
|
type: :development
|
242
220
|
prerelease: false
|
243
221
|
version_requirements: !ruby/object:Gem::Requirement
|
244
|
-
none: false
|
245
222
|
requirements:
|
246
223
|
- - ! '>='
|
247
224
|
- !ruby/object:Gem::Version
|
@@ -253,6 +230,9 @@ executables: []
|
|
253
230
|
extensions: []
|
254
231
|
extra_rdoc_files: []
|
255
232
|
files:
|
233
|
+
- LICENSE
|
234
|
+
- README.md
|
235
|
+
- Rakefile
|
256
236
|
- app/assets/javascripts/testTrack.bundle.min.js
|
257
237
|
- app/controllers/concerns/test_track/controller.rb
|
258
238
|
- app/controllers/tt/api/v1/application_controller.rb
|
@@ -278,6 +258,7 @@ files:
|
|
278
258
|
- app/models/test_track/fake/visitor.rb
|
279
259
|
- app/models/test_track/fake_server.rb
|
280
260
|
- app/models/test_track/identity_session_discriminator.rb
|
261
|
+
- app/models/test_track/misconfiguration_notifier.rb
|
281
262
|
- app/models/test_track/notify_assignment_job.rb
|
282
263
|
- app/models/test_track/offline_session.rb
|
283
264
|
- app/models/test_track/remote/assignment.rb
|
@@ -304,40 +285,33 @@ files:
|
|
304
285
|
- lib/generators/test_track/migration_generator.rb
|
305
286
|
- lib/tasks/test_track_rails_client_tasks.rake
|
306
287
|
- lib/test_track.rb
|
288
|
+
- lib/test_track_rails_client.rb
|
307
289
|
- lib/test_track_rails_client/assignment_helper.rb
|
308
290
|
- lib/test_track_rails_client/engine.rb
|
309
291
|
- lib/test_track_rails_client/rspec_helpers.rb
|
310
292
|
- lib/test_track_rails_client/version.rb
|
311
|
-
- lib/test_track_rails_client.rb
|
312
|
-
- LICENSE
|
313
|
-
- Rakefile
|
314
|
-
- README.md
|
315
293
|
homepage: https://github.com/Betterment
|
316
294
|
licenses:
|
317
295
|
- MIT
|
296
|
+
metadata: {}
|
318
297
|
post_install_message:
|
319
298
|
rdoc_options: []
|
320
299
|
require_paths:
|
321
300
|
- lib
|
322
301
|
required_ruby_version: !ruby/object:Gem::Requirement
|
323
|
-
none: false
|
324
302
|
requirements:
|
325
303
|
- - ! '>='
|
326
304
|
- !ruby/object:Gem::Version
|
327
305
|
version: 1.9.3
|
328
306
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
329
|
-
none: false
|
330
307
|
requirements:
|
331
308
|
- - ! '>='
|
332
309
|
- !ruby/object:Gem::Version
|
333
310
|
version: '0'
|
334
|
-
segments:
|
335
|
-
- 0
|
336
|
-
hash: -2216407161491829239
|
337
311
|
requirements: []
|
338
312
|
rubyforge_project:
|
339
|
-
rubygems_version:
|
313
|
+
rubygems_version: 2.6.7
|
340
314
|
signing_key:
|
341
|
-
specification_version:
|
315
|
+
specification_version: 4
|
342
316
|
summary: Rails client for TestTrack
|
343
317
|
test_files: []
|