test_track_rails_client 0.9.6 → 0.9.7
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.
- 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: []
|