test_track_rails_client 2.0.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +62 -7
  3. data/Rakefile +8 -4
  4. data/app/models/test_track/analytics/mixpanel_client.rb +2 -5
  5. data/app/models/test_track/analytics/safe_wrapper.rb +4 -4
  6. data/app/models/test_track/config_updater.rb +2 -2
  7. data/app/models/test_track/fake/split_registry.rb +2 -2
  8. data/app/models/test_track/notify_assignment_job.rb +3 -4
  9. data/app/models/test_track/offline_session.rb +6 -4
  10. data/app/models/test_track/remote/split_registry.rb +2 -2
  11. data/app/models/test_track/remote/visitor.rb +2 -2
  12. data/app/models/test_track/session.rb +12 -73
  13. data/app/models/test_track/unsynced_assignments_notifier.rb +2 -4
  14. data/app/models/test_track/vary_dsl.rb +5 -1
  15. data/app/models/test_track/visitor.rb +0 -11
  16. data/lib/test_track_rails_client/version.rb +1 -1
  17. data/vendor/gems/fakeable_her/fakeable_her.gemspec +2 -3
  18. data/vendor/gems/her/her.gemspec +4 -5
  19. data/vendor/gems/her/lib/her/api.rb +1 -1
  20. data/vendor/gems/her/lib/her/model/associations/association_proxy.rb +1 -2
  21. data/vendor/gems/her/lib/her/model/orm.rb +41 -29
  22. data/vendor/gems/her/lib/her/model/parse.rb +1 -0
  23. data/vendor/gems/her/lib/her/model/relation.rb +21 -6
  24. data/vendor/gems/her/lib/her/version.rb +1 -1
  25. metadata +52 -139
  26. data/app/models/test_track/create_alias_job.rb +0 -18
  27. data/vendor/gems/her/CONTRIBUTING.md +0 -26
  28. data/vendor/gems/her/Gemfile +0 -10
  29. data/vendor/gems/her/README.md +0 -1023
  30. data/vendor/gems/her/Rakefile +0 -11
  31. data/vendor/gems/her/UPGRADE.md +0 -101
  32. data/vendor/gems/her/gemfiles/Gemfile.activemodel-3.2.x +0 -7
  33. data/vendor/gems/her/gemfiles/Gemfile.activemodel-4.0 +0 -7
  34. data/vendor/gems/her/gemfiles/Gemfile.activemodel-4.1 +0 -7
  35. data/vendor/gems/her/gemfiles/Gemfile.activemodel-4.2 +0 -7
  36. data/vendor/gems/her/spec/api_spec.rb +0 -114
  37. data/vendor/gems/her/spec/collection_spec.rb +0 -26
  38. data/vendor/gems/her/spec/error_collection_spec.rb +0 -33
  39. data/vendor/gems/her/spec/json_api/model_spec.rb +0 -168
  40. data/vendor/gems/her/spec/middleware/accept_json_spec.rb +0 -10
  41. data/vendor/gems/her/spec/middleware/first_level_parse_json_spec.rb +0 -62
  42. data/vendor/gems/her/spec/middleware/json_api_parser_spec.rb +0 -32
  43. data/vendor/gems/her/spec/middleware/second_level_parse_json_spec.rb +0 -35
  44. data/vendor/gems/her/spec/model/associations/association_proxy_spec.rb +0 -31
  45. data/vendor/gems/her/spec/model/associations_spec.rb +0 -504
  46. data/vendor/gems/her/spec/model/attributes_spec.rb +0 -404
  47. data/vendor/gems/her/spec/model/callbacks_spec.rb +0 -145
  48. data/vendor/gems/her/spec/model/dirty_spec.rb +0 -110
  49. data/vendor/gems/her/spec/model/http_spec.rb +0 -165
  50. data/vendor/gems/her/spec/model/introspection_spec.rb +0 -76
  51. data/vendor/gems/her/spec/model/nested_attributes_spec.rb +0 -134
  52. data/vendor/gems/her/spec/model/orm_spec.rb +0 -791
  53. data/vendor/gems/her/spec/model/parse_spec.rb +0 -372
  54. data/vendor/gems/her/spec/model/paths_spec.rb +0 -347
  55. data/vendor/gems/her/spec/model/relation_spec.rb +0 -226
  56. data/vendor/gems/her/spec/model/validations_spec.rb +0 -42
  57. data/vendor/gems/her/spec/model_spec.rb +0 -31
  58. data/vendor/gems/her/spec/spec_helper.rb +0 -27
  59. data/vendor/gems/her/spec/support/extensions/array.rb +0 -5
  60. data/vendor/gems/her/spec/support/extensions/hash.rb +0 -5
  61. data/vendor/gems/her/spec/support/macros/her_macros.rb +0 -17
  62. data/vendor/gems/her/spec/support/macros/model_macros.rb +0 -36
  63. data/vendor/gems/her/spec/support/macros/request_macros.rb +0 -27
  64. data/vendor/gems/publicsuffix-ruby/CHANGELOG.md +0 -236
  65. data/vendor/gems/publicsuffix-ruby/Gemfile +0 -3
  66. data/vendor/gems/publicsuffix-ruby/LICENSE.txt +0 -22
  67. data/vendor/gems/publicsuffix-ruby/README.md +0 -151
  68. data/vendor/gems/publicsuffix-ruby/Rakefile +0 -109
  69. data/vendor/gems/publicsuffix-ruby/lib/definitions.txt +0 -11467
  70. data/vendor/gems/publicsuffix-ruby/lib/public_suffix/domain.rb +0 -387
  71. data/vendor/gems/publicsuffix-ruby/lib/public_suffix/errors.rb +0 -53
  72. data/vendor/gems/publicsuffix-ruby/lib/public_suffix/list.rb +0 -302
  73. data/vendor/gems/publicsuffix-ruby/lib/public_suffix/rule.rb +0 -373
  74. data/vendor/gems/publicsuffix-ruby/lib/public_suffix/version.rb +0 -23
  75. data/vendor/gems/publicsuffix-ruby/lib/public_suffix.rb +0 -131
  76. data/vendor/gems/publicsuffix-ruby/public_suffix.gemspec +0 -39
  77. data/vendor/gems/publicsuffix-ruby/test/acceptance_test.rb +0 -42
  78. data/vendor/gems/publicsuffix-ruby/test/test_helper.rb +0 -6
  79. data/vendor/gems/publicsuffix-ruby/test/unit/domain_test.rb +0 -170
  80. data/vendor/gems/publicsuffix-ruby/test/unit/errors_test.rb +0 -23
  81. data/vendor/gems/publicsuffix-ruby/test/unit/list_test.rb +0 -179
  82. data/vendor/gems/publicsuffix-ruby/test/unit/public_suffix_test.rb +0 -115
  83. data/vendor/gems/publicsuffix-ruby/test/unit/rule_test.rb +0 -307
  84. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/capybara_configuration.rb +0 -98
  85. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/matchers.rb +0 -151
  86. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/rspec_configuration.rb +0 -34
  87. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/rubocop/cop/betterment/html_safe.rb +0 -15
  88. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/rubocop/cop/betterment/raw.rb +0 -15
  89. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/rubocop/cop/betterment/safe_concat.rb +0 -15
  90. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/rubocop.rb +0 -3
  91. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/shared_examples/betterment_application_examples.rb +0 -43
  92. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/shared_examples.rb +0 -1
  93. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/site_prism_configuration.rb +0 -42
  94. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/site_prism_dropdown.rb +0 -17
  95. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/version.rb +0 -3
  96. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/webmock_configuration.rb +0 -8
  97. data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers.rb +0 -2
  98. data/vendor/gems/ruby_spec_helpers/ruby_spec_helpers.gemspec +0 -25
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
  module Her
2
3
  module Model
3
4
  # This module adds ORM-like capabilities to the model
@@ -35,36 +36,44 @@ module Her
35
36
  # @user.save
36
37
  # # Called via POST "/users"
37
38
  def save
38
- callback = new? ? :create : :update
39
- method = self.class.method_for(callback)
40
-
41
- run_callbacks callback do
42
- run_callbacks :save do
43
- params = to_params
44
- self.class.request(to_params.merge(:_method => method, :_path => request_path, :_headers => request_headers, :_options => request_options)) do |parsed_data, response|
45
- assign_attributes(self.class.parse(parsed_data[:data])) if parsed_data[:data].any?
46
- @metadata = parsed_data[:metadata]
47
- @response_errors = parsed_data[:errors]
48
- self.assign_attributes(status_code: response.status)
49
-
50
- return false if !response.success? || @response_errors.any?
51
- if self.changed_attributes.present?
52
- @previously_changed = self.changed_attributes.clone
53
- self.changed_attributes.clear
39
+ if valid?
40
+ callback = new? ? :create : :update
41
+ method = self.class.method_for(callback)
42
+
43
+ run_callbacks callback do
44
+ run_callbacks :save do
45
+ params = to_params
46
+ self.class.request(to_params.merge(:_method => method, :_path => request_path, :_headers => request_headers, :_options => request_options)) do |parsed_data, response|
47
+ assign_attributes(self.class.parse(parsed_data[:data])) if parsed_data[:data].any?
48
+ @metadata = parsed_data[:metadata]
49
+ @response_errors = parsed_data[:errors]
50
+ self.assign_attributes(status_code: response.status)
51
+
52
+ return false if !response.success? || @response_errors.any?
53
+ if self.changed_attributes.present?
54
+ @previously_changed = self.changed_attributes.clone
55
+ self.changed_attributes.clear
56
+ end
54
57
  end
55
58
  end
56
59
  end
60
+ true
61
+ else
62
+ false
57
63
  end
58
-
59
- true
60
64
  end
61
65
 
62
66
  # Similar to save(), except that ResourceInvalid is raised if the save fails
63
67
  def save!
64
- if !self.save
65
- raise Her::Errors::ResponseError.for(status_code).new("Remote validation of #{self.class.name} failed with a #{status_code}: #{full_error_messages}")
68
+ if self.save
69
+ true
70
+ elsif response_errors.present?
71
+ raise Her::Errors::ResponseError.for(status_code), "Remote validation of #{self.class.name} failed with a #{status_code}: #{full_error_messages}"
72
+ elsif errors.present?
73
+ raise Her::Errors::RecordInvalid, "Local validation of #{self.class.name} failed: #{errors.full_messages}"
74
+ else
75
+ raise 'unreachable'
66
76
  end
67
- true
68
77
  end
69
78
 
70
79
  # Destroy a resource
@@ -73,24 +82,24 @@ module Her
73
82
  # @user = User.find(1)
74
83
  # @user.destroy
75
84
  # # Called via DELETE "/users/1"
76
- def destroy
85
+ def destroy(params = {})
77
86
  method = self.class.method_for(:destroy)
78
87
  run_callbacks :destroy do
79
- self.class.request(:_method => method, :_path => request_path, :_headers => request_headers, :_options => request_options) do |parsed_data, response|
88
+ self.class.request(params.merge(:_method => method, :_path => request_path, :_headers => request_headers, :_options => request_options)) do |parsed_data, response|
80
89
  raise Her::Errors::ResponseError.for(response.status).new("Request against #{self.class} returned a #{response.status}") if response.status >= 400
81
90
  assign_attributes(self.class.parse(parsed_data[:data])) if parsed_data[:data].any?
82
91
  @metadata = parsed_data[:metadata]
83
92
  @response_errors = parsed_data[:errors]
84
- @destroyed = true
93
+ @destroyed = response.success?
85
94
  end
86
95
  end
87
96
  self
88
97
  end
89
98
 
90
99
  def full_error_messages
91
- self.response_errors.map do |field, messages|
92
- "#{field} #{messages.join(', ')}"
93
- end.join('. ')
100
+ self.response_errors.map do |field, messages|
101
+ "#{field} #{messages.join(', ')}"
102
+ end.join('. ')
94
103
  end
95
104
 
96
105
  module ClassMethods
@@ -141,7 +150,7 @@ module Her
141
150
  end
142
151
 
143
152
  # Delegate the following methods to `scoped`
144
- [:all, :where, :create, :build, :find, :find_by, :first, :first_or_create, :first_or_initialize].each do |method|
153
+ [:all, :where, :create, :create!, :build, :find, :find_by, :first, :first_or_create, :first_or_initialize].each do |method|
145
154
  class_eval <<-RUBY, __FILE__, __LINE__ + 1
146
155
  def #{method}(*params)
147
156
  scoped.send(#{method.to_sym.inspect}, *params)
@@ -172,7 +181,10 @@ module Her
172
181
  def destroy_existing(id, params = {}, headers = {}, options = {})
173
182
  request(params.merge(:_method => method_for(:destroy), :_headers => headers, :_options => options, :_path => build_request_path(params.merge(primary_key => id)))) do |parsed_data, response|
174
183
  raise Her::Errors::ResponseError.for(response.status).new("Request against #{name} returned a #{response.status}") if response.status >= 400
175
- new(parse(parsed_data[:data]).merge(:_destroyed => true))
184
+ data = parse(parsed_data[:data])
185
+ metadata = parsed_data[:metadata]
186
+ response_errors = parsed_data[:errors]
187
+ new(data.merge(:_destroyed => response.success?, :metadata => metadata, :response_errors => response_errors))
176
188
  end
177
189
  end
178
190
 
@@ -58,6 +58,7 @@ module Her
58
58
  def embeded_params(attributes)
59
59
  associations[:has_many].select { |a| attributes.include?(a[:data_key])}.compact.inject({}) do |hash, association|
60
60
  params = attributes[association[:data_key]].map(&:to_params)
61
+ next hash if params.empty?
61
62
  if association[:class_name].constantize.include_root_in_json?
62
63
  root = association[:class_name].constantize.root_element
63
64
  hash[association[:data_key]] = params.map { |n| n[root] }
@@ -204,13 +204,20 @@ module Her
204
204
  # @user = User.where(:email => "tobias@bluth.com").create(:fullname => "Tobias Fünke")
205
205
  # # Called via POST "/users/1" with `&email=tobias@bluth.com&fullname=Tobias+Fünke`
206
206
  def create(attributes = {})
207
- attributes ||= {}
208
- resource = @parent.new(@params.merge(attributes))
209
- resource.request_headers = request_headers
210
- resource.request_options = request_options
211
- resource.save
207
+ _build(attributes).tap(&:save)
208
+ end
212
209
 
213
- resource
210
+ # Create a resource and return it, raises if there are validation or response errors
211
+ #
212
+ # @example
213
+ # @user = User.create!(:fullname => "Tobias Fünke")
214
+ # # Called via POST "/users/1" with `&fullname=Tobias+Fünke`
215
+ #
216
+ # @example
217
+ # @user = User.where(:email => "tobias@bluth.com").create!(:fullname => "Tobias Fünke")
218
+ # # Called via POST "/users/1" with `&email=tobias@bluth.com&fullname=Tobias+Fünke`
219
+ def create!(attributes = {})
220
+ _build(attributes).tap(&:save!)
214
221
  end
215
222
 
216
223
  # Fetch a resource and create it if it's not found
@@ -246,6 +253,14 @@ module Her
246
253
  def clear_fetch_cache!
247
254
  instance_variable_set(:@_fetch, nil)
248
255
  end
256
+
257
+ # @private
258
+ def _build(attributes)
259
+ resource = @parent.new(@params.merge(attributes))
260
+ resource.request_headers = request_headers
261
+ resource.request_options = request_options
262
+ resource
263
+ end
249
264
  end
250
265
  end
251
266
  end
@@ -1,3 +1,3 @@
1
1
  module Her
2
- VERSION = "0.8.1"
2
+ VERSION = "0.8.6"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test_track_rails_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan O'Neill
@@ -13,18 +13,15 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2017-10-12 00:00:00.000000000 Z
16
+ date: 2018-01-09 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
- name: rails
19
+ name: airbrake
20
20
  requirement: !ruby/object:Gem::Requirement
21
21
  requirements:
22
22
  - - ">="
23
23
  - !ruby/object:Gem::Version
24
24
  version: '4.1'
25
- - - "<"
26
- - !ruby/object:Gem::Version
27
- version: '6.0'
28
25
  type: :runtime
29
26
  prerelease: false
30
27
  version_requirements: !ruby/object:Gem::Requirement
@@ -32,31 +29,36 @@ dependencies:
32
29
  - - ">="
33
30
  - !ruby/object:Gem::Version
34
31
  version: '4.1'
35
- - - "<"
36
- - !ruby/object:Gem::Version
37
- version: '6.0'
38
32
  - !ruby/object:Gem::Dependency
39
- name: faraday
33
+ name: delayed-plugins-airbrake
40
34
  requirement: !ruby/object:Gem::Requirement
41
35
  requirements:
42
36
  - - ">="
43
37
  - !ruby/object:Gem::Version
44
- version: '0.8'
45
- - - "<"
46
- - !ruby/object:Gem::Version
47
- version: '1.0'
38
+ version: '0'
48
39
  type: :runtime
49
40
  prerelease: false
50
41
  version_requirements: !ruby/object:Gem::Requirement
51
42
  requirements:
52
43
  - - ">="
53
44
  - !ruby/object:Gem::Version
54
- version: '0.8'
55
- - - "<"
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: delayed_job
48
+ requirement: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - "~>"
56
51
  - !ruby/object:Gem::Version
57
- version: '1.0'
52
+ version: '4.0'
53
+ type: :runtime
54
+ prerelease: false
55
+ version_requirements: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '4.0'
58
60
  - !ruby/object:Gem::Dependency
59
- name: faraday_middleware
61
+ name: delayed_job_active_record
60
62
  requirement: !ruby/object:Gem::Requirement
61
63
  requirements:
62
64
  - - ">="
@@ -70,74 +72,83 @@ dependencies:
70
72
  - !ruby/object:Gem::Version
71
73
  version: '0'
72
74
  - !ruby/object:Gem::Dependency
73
- name: public_suffix
75
+ name: faraday
74
76
  requirement: !ruby/object:Gem::Requirement
75
77
  requirements:
76
78
  - - ">="
77
79
  - !ruby/object:Gem::Version
78
- version: 2.0.0
79
- - - "<="
80
+ version: '0.8'
81
+ - - "<"
80
82
  - !ruby/object:Gem::Version
81
- version: 3.0.0
83
+ version: '1.0'
82
84
  type: :runtime
83
85
  prerelease: false
84
86
  version_requirements: !ruby/object:Gem::Requirement
85
87
  requirements:
86
88
  - - ">="
87
89
  - !ruby/object:Gem::Version
88
- version: 2.0.0
89
- - - "<="
90
+ version: '0.8'
91
+ - - "<"
90
92
  - !ruby/object:Gem::Version
91
- version: 3.0.0
93
+ version: '1.0'
92
94
  - !ruby/object:Gem::Dependency
93
- name: mixpanel-ruby
95
+ name: faraday_middleware
94
96
  requirement: !ruby/object:Gem::Requirement
95
97
  requirements:
96
- - - "~>"
98
+ - - ">="
97
99
  - !ruby/object:Gem::Version
98
- version: '1.4'
100
+ version: '0'
99
101
  type: :runtime
100
102
  prerelease: false
101
103
  version_requirements: !ruby/object:Gem::Requirement
102
104
  requirements:
103
- - - "~>"
105
+ - - ">="
104
106
  - !ruby/object:Gem::Version
105
- version: '1.4'
107
+ version: '0'
106
108
  - !ruby/object:Gem::Dependency
107
- name: delayed_job
109
+ name: mixpanel-ruby
108
110
  requirement: !ruby/object:Gem::Requirement
109
111
  requirements:
110
112
  - - "~>"
111
113
  - !ruby/object:Gem::Version
112
- version: '4.0'
114
+ version: '1.4'
113
115
  type: :runtime
114
116
  prerelease: false
115
117
  version_requirements: !ruby/object:Gem::Requirement
116
118
  requirements:
117
119
  - - "~>"
118
120
  - !ruby/object:Gem::Version
119
- version: '4.0'
121
+ version: '1.4'
120
122
  - !ruby/object:Gem::Dependency
121
- name: delayed_job_active_record
123
+ name: public_suffix
122
124
  requirement: !ruby/object:Gem::Requirement
123
125
  requirements:
124
126
  - - ">="
125
127
  - !ruby/object:Gem::Version
126
- version: '0'
128
+ version: 2.0.0
129
+ - - "<="
130
+ - !ruby/object:Gem::Version
131
+ version: 3.0.0
127
132
  type: :runtime
128
133
  prerelease: false
129
134
  version_requirements: !ruby/object:Gem::Requirement
130
135
  requirements:
131
136
  - - ">="
132
137
  - !ruby/object:Gem::Version
133
- version: '0'
138
+ version: 2.0.0
139
+ - - "<="
140
+ - !ruby/object:Gem::Version
141
+ version: 3.0.0
134
142
  - !ruby/object:Gem::Dependency
135
- name: airbrake
143
+ name: rails
136
144
  requirement: !ruby/object:Gem::Requirement
137
145
  requirements:
138
146
  - - ">="
139
147
  - !ruby/object:Gem::Version
140
148
  version: '4.1'
149
+ - - "<"
150
+ - !ruby/object:Gem::Version
151
+ version: '6.0'
141
152
  type: :runtime
142
153
  prerelease: false
143
154
  version_requirements: !ruby/object:Gem::Requirement
@@ -145,20 +156,9 @@ dependencies:
145
156
  - - ">="
146
157
  - !ruby/object:Gem::Version
147
158
  version: '4.1'
148
- - !ruby/object:Gem::Dependency
149
- name: delayed-plugins-airbrake
150
- requirement: !ruby/object:Gem::Requirement
151
- requirements:
152
- - - ">="
153
- - !ruby/object:Gem::Version
154
- version: '0'
155
- type: :runtime
156
- prerelease: false
157
- version_requirements: !ruby/object:Gem::Requirement
158
- requirements:
159
- - - ">="
159
+ - - "<"
160
160
  - !ruby/object:Gem::Version
161
- version: '0'
161
+ version: '6.0'
162
162
  - !ruby/object:Gem::Dependency
163
163
  name: request_store
164
164
  requirement: !ruby/object:Gem::Requirement
@@ -215,20 +215,6 @@ dependencies:
215
215
  - - ">="
216
216
  - !ruby/object:Gem::Version
217
217
  version: '0'
218
- - !ruby/object:Gem::Dependency
219
- name: rubocop
220
- requirement: !ruby/object:Gem::Requirement
221
- requirements:
222
- - - ">="
223
- - !ruby/object:Gem::Version
224
- version: '0.36'
225
- type: :development
226
- prerelease: false
227
- version_requirements: !ruby/object:Gem::Requirement
228
- requirements:
229
- - - ">="
230
- - !ruby/object:Gem::Version
231
- version: '0.36'
232
218
  - !ruby/object:Gem::Dependency
233
219
  name: webmock
234
220
  requirement: !ruby/object:Gem::Requirement
@@ -275,7 +261,6 @@ files:
275
261
  - app/models/test_track/analytics/safe_wrapper.rb
276
262
  - app/models/test_track/assignment.rb
277
263
  - app/models/test_track/config_updater.rb
278
- - app/models/test_track/create_alias_job.rb
279
264
  - app/models/test_track/fake/split_detail.rb
280
265
  - app/models/test_track/fake/split_registry.rb
281
266
  - app/models/test_track/fake/visitor.rb
@@ -323,16 +308,7 @@ files:
323
308
  - vendor/gems/fakeable_her/lib/fakeable_her.rb
324
309
  - vendor/gems/fakeable_her/lib/fakeable_her/model.rb
325
310
  - vendor/gems/fakeable_her/lib/fakeable_her/version.rb
326
- - vendor/gems/her/CONTRIBUTING.md
327
- - vendor/gems/her/Gemfile
328
311
  - vendor/gems/her/LICENSE
329
- - vendor/gems/her/README.md
330
- - vendor/gems/her/Rakefile
331
- - vendor/gems/her/UPGRADE.md
332
- - vendor/gems/her/gemfiles/Gemfile.activemodel-3.2.x
333
- - vendor/gems/her/gemfiles/Gemfile.activemodel-4.0
334
- - vendor/gems/her/gemfiles/Gemfile.activemodel-4.1
335
- - vendor/gems/her/gemfiles/Gemfile.activemodel-4.2
336
312
  - vendor/gems/her/her.gemspec
337
313
  - vendor/gems/her/lib/her.rb
338
314
  - vendor/gems/her/lib/her/api.rb
@@ -365,69 +341,6 @@ files:
365
341
  - vendor/gems/her/lib/her/model/paths.rb
366
342
  - vendor/gems/her/lib/her/model/relation.rb
367
343
  - vendor/gems/her/lib/her/version.rb
368
- - vendor/gems/her/spec/api_spec.rb
369
- - vendor/gems/her/spec/collection_spec.rb
370
- - vendor/gems/her/spec/error_collection_spec.rb
371
- - vendor/gems/her/spec/json_api/model_spec.rb
372
- - vendor/gems/her/spec/middleware/accept_json_spec.rb
373
- - vendor/gems/her/spec/middleware/first_level_parse_json_spec.rb
374
- - vendor/gems/her/spec/middleware/json_api_parser_spec.rb
375
- - vendor/gems/her/spec/middleware/second_level_parse_json_spec.rb
376
- - vendor/gems/her/spec/model/associations/association_proxy_spec.rb
377
- - vendor/gems/her/spec/model/associations_spec.rb
378
- - vendor/gems/her/spec/model/attributes_spec.rb
379
- - vendor/gems/her/spec/model/callbacks_spec.rb
380
- - vendor/gems/her/spec/model/dirty_spec.rb
381
- - vendor/gems/her/spec/model/http_spec.rb
382
- - vendor/gems/her/spec/model/introspection_spec.rb
383
- - vendor/gems/her/spec/model/nested_attributes_spec.rb
384
- - vendor/gems/her/spec/model/orm_spec.rb
385
- - vendor/gems/her/spec/model/parse_spec.rb
386
- - vendor/gems/her/spec/model/paths_spec.rb
387
- - vendor/gems/her/spec/model/relation_spec.rb
388
- - vendor/gems/her/spec/model/validations_spec.rb
389
- - vendor/gems/her/spec/model_spec.rb
390
- - vendor/gems/her/spec/spec_helper.rb
391
- - vendor/gems/her/spec/support/extensions/array.rb
392
- - vendor/gems/her/spec/support/extensions/hash.rb
393
- - vendor/gems/her/spec/support/macros/her_macros.rb
394
- - vendor/gems/her/spec/support/macros/model_macros.rb
395
- - vendor/gems/her/spec/support/macros/request_macros.rb
396
- - vendor/gems/publicsuffix-ruby/CHANGELOG.md
397
- - vendor/gems/publicsuffix-ruby/Gemfile
398
- - vendor/gems/publicsuffix-ruby/LICENSE.txt
399
- - vendor/gems/publicsuffix-ruby/README.md
400
- - vendor/gems/publicsuffix-ruby/Rakefile
401
- - vendor/gems/publicsuffix-ruby/lib/definitions.txt
402
- - vendor/gems/publicsuffix-ruby/lib/public_suffix.rb
403
- - vendor/gems/publicsuffix-ruby/lib/public_suffix/domain.rb
404
- - vendor/gems/publicsuffix-ruby/lib/public_suffix/errors.rb
405
- - vendor/gems/publicsuffix-ruby/lib/public_suffix/list.rb
406
- - vendor/gems/publicsuffix-ruby/lib/public_suffix/rule.rb
407
- - vendor/gems/publicsuffix-ruby/lib/public_suffix/version.rb
408
- - vendor/gems/publicsuffix-ruby/public_suffix.gemspec
409
- - vendor/gems/publicsuffix-ruby/test/acceptance_test.rb
410
- - vendor/gems/publicsuffix-ruby/test/test_helper.rb
411
- - vendor/gems/publicsuffix-ruby/test/unit/domain_test.rb
412
- - vendor/gems/publicsuffix-ruby/test/unit/errors_test.rb
413
- - vendor/gems/publicsuffix-ruby/test/unit/list_test.rb
414
- - vendor/gems/publicsuffix-ruby/test/unit/public_suffix_test.rb
415
- - vendor/gems/publicsuffix-ruby/test/unit/rule_test.rb
416
- - vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers.rb
417
- - vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/capybara_configuration.rb
418
- - vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/matchers.rb
419
- - vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/rspec_configuration.rb
420
- - vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/rubocop.rb
421
- - vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/rubocop/cop/betterment/html_safe.rb
422
- - vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/rubocop/cop/betterment/raw.rb
423
- - vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/rubocop/cop/betterment/safe_concat.rb
424
- - vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/shared_examples.rb
425
- - vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/shared_examples/betterment_application_examples.rb
426
- - vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/site_prism_configuration.rb
427
- - vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/site_prism_dropdown.rb
428
- - vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/version.rb
429
- - vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/webmock_configuration.rb
430
- - vendor/gems/ruby_spec_helpers/ruby_spec_helpers.gemspec
431
344
  homepage: https://github.com/Betterment
432
345
  licenses:
433
346
  - MIT
@@ -440,7 +353,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
440
353
  requirements:
441
354
  - - ">="
442
355
  - !ruby/object:Gem::Version
443
- version: 2.0.0
356
+ version: 2.1.0
444
357
  required_rubygems_version: !ruby/object:Gem::Requirement
445
358
  requirements:
446
359
  - - ">="
@@ -448,7 +361,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
448
361
  version: '0'
449
362
  requirements: []
450
363
  rubyforge_project:
451
- rubygems_version: 2.6.13
364
+ rubygems_version: 2.5.1
452
365
  signing_key:
453
366
  specification_version: 4
454
367
  summary: Rails client for TestTrack
@@ -1,18 +0,0 @@
1
- class TestTrack::CreateAliasJob
2
- attr_reader :existing_id, :alias_id
3
-
4
- def initialize(opts)
5
- @existing_id = opts.delete(:existing_id)
6
- @alias_id = opts.delete(:alias_id)
7
-
8
- %w(existing_id alias_id).each do |param_name|
9
- raise "#{param_name} must be present" unless send(param_name).present?
10
- end
11
- raise "unknown opts: #{opts.keys.to_sentence}" if opts.present?
12
- end
13
-
14
- def perform
15
- return unless TestTrack.enabled?
16
- TestTrack.analytics.alias(alias_id, existing_id)
17
- end
18
- end
@@ -1,26 +0,0 @@
1
- # How to contribute
2
-
3
- _(This file is heavily based on [factory\_girl\_rails](https://github.com/thoughtbot/factory_girl_rails/blob/master/CONTRIBUTING.md)’s Contribution Guide)_
4
-
5
- We love pull requests. Here’s a quick guide:
6
-
7
- * Fork the repository.
8
- * Run `rake spec` (to make sure you start with a clean slate).
9
- * Implement your feature or fix.
10
- * Add examples that describe it (in the `spec` directory). Only refactoring and documentation changes require no new tests. If you are adding functionality or fixing a bug, we need examples!
11
- * Make sure `rake spec` passes after your modifications.
12
- * Commit (bonus points for doing it in a `feature-*` branch).
13
- * Push to your fork and send your pull request!
14
-
15
- If we have not replied to your pull request in three or four days, do not hesitate to post another comment in it — yes, we can be lazy sometimes.
16
-
17
- ## Syntax Guide
18
-
19
- Do not hesitate to submit patches that fix syntax issues. Some may have slipped under our nose.
20
-
21
- * Two spaces, no tabs (but you already knew that, right?).
22
- * No trailing whitespace. Blank lines should not have any space. There are few things we **hate** more than trailing whitespace. Seriously.
23
- * `MyClass.my_method(my_arg)` not `my_method( my_arg )` or `my_method my_arg`.
24
- * `[:foo, :bar]` and not `[ :foo, :bar ]`, `{ :foo => :bar }` and not `{:foo => :bar}`
25
- * `a = b` and not `a=b`.
26
- * Follow the conventions you see used in the source already.
@@ -1,10 +0,0 @@
1
- source "https://rubygems.org"
2
- gemspec
3
-
4
- if RbConfig::CONFIG['RUBY_PROGRAM_VERSION'] && RbConfig::CONFIG['RUBY_PROGRAM_VERSION'] >= '1.9.3'
5
- gem 'activemodel', '>= 3.2.0'
6
- gem 'activesupport', '>= 3.2.0'
7
- else
8
- gem 'activemodel', '~> 3.2.0'
9
- gem 'activesupport', '~> 3.2.0'
10
- end