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 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
- airbrake_because_ab("configures split with more than 2 variants") if split_variants && split_variants.size > 2
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 airbrake_because_ab(msg)
49
- msg = "A/B for \"#{split_name}\" #{msg}"
50
- Rails.logger.error(msg)
51
- Airbrake.notify_or_ignore(msg)
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
@@ -0,0 +1,11 @@
1
+ class TestTrack::MisconfigurationNotifier
2
+ def notify(msg)
3
+ Rails.logger.error(msg)
4
+
5
+ if Airbrake.respond_to?(:notify_or_ignore)
6
+ Airbrake.notify_or_ignore(msg)
7
+ else
8
+ Airbrake.notify(msg)
9
+ end
10
+ end
11
+ end
@@ -37,9 +37,12 @@ class TestTrack::VaryDSL
37
37
  @split_variants ||= split.keys if split_registry
38
38
  end
39
39
 
40
- def airbrake_because_vary(msg)
41
- Rails.logger.error(msg)
42
- Airbrake.notify_or_ignore("vary for \"#{split_name}\" #{msg}")
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
- airbrake_because_vary "configures unknown variant \"#{variant}\"" unless variant_acceptable?(variant)
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
- airbrake_because_vary("does not configure variants #{missing_variants.to_sentence}") && false unless missing_variants.empty?
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 'delayed-plugins-airbrake'
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
@@ -1,3 +1,3 @@
1
1
  module TestTrackRailsClient
2
- VERSION = "0.9.6" # rubocop:disable Style/MutableConstant
2
+ VERSION = "0.9.7" # rubocop:disable Style/MutableConstant
3
3
  end
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.6
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-24 00:00:00.000000000 Z
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: 1.8.23.2
313
+ rubygems_version: 2.6.7
340
314
  signing_key:
341
- specification_version: 3
315
+ specification_version: 4
342
316
  summary: Rails client for TestTrack
343
317
  test_files: []