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.
- checksums.yaml +4 -4
- data/README.md +62 -7
- data/Rakefile +8 -4
- data/app/models/test_track/analytics/mixpanel_client.rb +2 -5
- data/app/models/test_track/analytics/safe_wrapper.rb +4 -4
- data/app/models/test_track/config_updater.rb +2 -2
- data/app/models/test_track/fake/split_registry.rb +2 -2
- data/app/models/test_track/notify_assignment_job.rb +3 -4
- data/app/models/test_track/offline_session.rb +6 -4
- data/app/models/test_track/remote/split_registry.rb +2 -2
- data/app/models/test_track/remote/visitor.rb +2 -2
- data/app/models/test_track/session.rb +12 -73
- data/app/models/test_track/unsynced_assignments_notifier.rb +2 -4
- data/app/models/test_track/vary_dsl.rb +5 -1
- data/app/models/test_track/visitor.rb +0 -11
- data/lib/test_track_rails_client/version.rb +1 -1
- data/vendor/gems/fakeable_her/fakeable_her.gemspec +2 -3
- data/vendor/gems/her/her.gemspec +4 -5
- data/vendor/gems/her/lib/her/api.rb +1 -1
- data/vendor/gems/her/lib/her/model/associations/association_proxy.rb +1 -2
- data/vendor/gems/her/lib/her/model/orm.rb +41 -29
- data/vendor/gems/her/lib/her/model/parse.rb +1 -0
- data/vendor/gems/her/lib/her/model/relation.rb +21 -6
- data/vendor/gems/her/lib/her/version.rb +1 -1
- metadata +52 -139
- data/app/models/test_track/create_alias_job.rb +0 -18
- data/vendor/gems/her/CONTRIBUTING.md +0 -26
- data/vendor/gems/her/Gemfile +0 -10
- data/vendor/gems/her/README.md +0 -1023
- data/vendor/gems/her/Rakefile +0 -11
- data/vendor/gems/her/UPGRADE.md +0 -101
- data/vendor/gems/her/gemfiles/Gemfile.activemodel-3.2.x +0 -7
- data/vendor/gems/her/gemfiles/Gemfile.activemodel-4.0 +0 -7
- data/vendor/gems/her/gemfiles/Gemfile.activemodel-4.1 +0 -7
- data/vendor/gems/her/gemfiles/Gemfile.activemodel-4.2 +0 -7
- data/vendor/gems/her/spec/api_spec.rb +0 -114
- data/vendor/gems/her/spec/collection_spec.rb +0 -26
- data/vendor/gems/her/spec/error_collection_spec.rb +0 -33
- data/vendor/gems/her/spec/json_api/model_spec.rb +0 -168
- data/vendor/gems/her/spec/middleware/accept_json_spec.rb +0 -10
- data/vendor/gems/her/spec/middleware/first_level_parse_json_spec.rb +0 -62
- data/vendor/gems/her/spec/middleware/json_api_parser_spec.rb +0 -32
- data/vendor/gems/her/spec/middleware/second_level_parse_json_spec.rb +0 -35
- data/vendor/gems/her/spec/model/associations/association_proxy_spec.rb +0 -31
- data/vendor/gems/her/spec/model/associations_spec.rb +0 -504
- data/vendor/gems/her/spec/model/attributes_spec.rb +0 -404
- data/vendor/gems/her/spec/model/callbacks_spec.rb +0 -145
- data/vendor/gems/her/spec/model/dirty_spec.rb +0 -110
- data/vendor/gems/her/spec/model/http_spec.rb +0 -165
- data/vendor/gems/her/spec/model/introspection_spec.rb +0 -76
- data/vendor/gems/her/spec/model/nested_attributes_spec.rb +0 -134
- data/vendor/gems/her/spec/model/orm_spec.rb +0 -791
- data/vendor/gems/her/spec/model/parse_spec.rb +0 -372
- data/vendor/gems/her/spec/model/paths_spec.rb +0 -347
- data/vendor/gems/her/spec/model/relation_spec.rb +0 -226
- data/vendor/gems/her/spec/model/validations_spec.rb +0 -42
- data/vendor/gems/her/spec/model_spec.rb +0 -31
- data/vendor/gems/her/spec/spec_helper.rb +0 -27
- data/vendor/gems/her/spec/support/extensions/array.rb +0 -5
- data/vendor/gems/her/spec/support/extensions/hash.rb +0 -5
- data/vendor/gems/her/spec/support/macros/her_macros.rb +0 -17
- data/vendor/gems/her/spec/support/macros/model_macros.rb +0 -36
- data/vendor/gems/her/spec/support/macros/request_macros.rb +0 -27
- data/vendor/gems/publicsuffix-ruby/CHANGELOG.md +0 -236
- data/vendor/gems/publicsuffix-ruby/Gemfile +0 -3
- data/vendor/gems/publicsuffix-ruby/LICENSE.txt +0 -22
- data/vendor/gems/publicsuffix-ruby/README.md +0 -151
- data/vendor/gems/publicsuffix-ruby/Rakefile +0 -109
- data/vendor/gems/publicsuffix-ruby/lib/definitions.txt +0 -11467
- data/vendor/gems/publicsuffix-ruby/lib/public_suffix/domain.rb +0 -387
- data/vendor/gems/publicsuffix-ruby/lib/public_suffix/errors.rb +0 -53
- data/vendor/gems/publicsuffix-ruby/lib/public_suffix/list.rb +0 -302
- data/vendor/gems/publicsuffix-ruby/lib/public_suffix/rule.rb +0 -373
- data/vendor/gems/publicsuffix-ruby/lib/public_suffix/version.rb +0 -23
- data/vendor/gems/publicsuffix-ruby/lib/public_suffix.rb +0 -131
- data/vendor/gems/publicsuffix-ruby/public_suffix.gemspec +0 -39
- data/vendor/gems/publicsuffix-ruby/test/acceptance_test.rb +0 -42
- data/vendor/gems/publicsuffix-ruby/test/test_helper.rb +0 -6
- data/vendor/gems/publicsuffix-ruby/test/unit/domain_test.rb +0 -170
- data/vendor/gems/publicsuffix-ruby/test/unit/errors_test.rb +0 -23
- data/vendor/gems/publicsuffix-ruby/test/unit/list_test.rb +0 -179
- data/vendor/gems/publicsuffix-ruby/test/unit/public_suffix_test.rb +0 -115
- data/vendor/gems/publicsuffix-ruby/test/unit/rule_test.rb +0 -307
- data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/capybara_configuration.rb +0 -98
- data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/matchers.rb +0 -151
- data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/rspec_configuration.rb +0 -34
- data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/rubocop/cop/betterment/html_safe.rb +0 -15
- data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/rubocop/cop/betterment/raw.rb +0 -15
- data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/rubocop/cop/betterment/safe_concat.rb +0 -15
- data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/rubocop.rb +0 -3
- data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/shared_examples/betterment_application_examples.rb +0 -43
- data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/shared_examples.rb +0 -1
- data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/site_prism_configuration.rb +0 -42
- data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/site_prism_dropdown.rb +0 -17
- data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/version.rb +0 -3
- data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers/webmock_configuration.rb +0 -8
- data/vendor/gems/ruby_spec_helpers/lib/ruby_spec_helpers.rb +0 -2
- 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
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
run_callbacks
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
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
|
65
|
-
|
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 =
|
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
|
-
|
92
|
-
|
93
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
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:
|
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:
|
16
|
+
date: 2018-01-09 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
|
-
name:
|
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:
|
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
|
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
|
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: '
|
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:
|
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:
|
75
|
+
name: faraday
|
74
76
|
requirement: !ruby/object:Gem::Requirement
|
75
77
|
requirements:
|
76
78
|
- - ">="
|
77
79
|
- !ruby/object:Gem::Version
|
78
|
-
version:
|
79
|
-
- - "
|
80
|
+
version: '0.8'
|
81
|
+
- - "<"
|
80
82
|
- !ruby/object:Gem::Version
|
81
|
-
version:
|
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:
|
89
|
-
- - "
|
90
|
+
version: '0.8'
|
91
|
+
- - "<"
|
90
92
|
- !ruby/object:Gem::Version
|
91
|
-
version:
|
93
|
+
version: '1.0'
|
92
94
|
- !ruby/object:Gem::Dependency
|
93
|
-
name:
|
95
|
+
name: faraday_middleware
|
94
96
|
requirement: !ruby/object:Gem::Requirement
|
95
97
|
requirements:
|
96
|
-
- - "
|
98
|
+
- - ">="
|
97
99
|
- !ruby/object:Gem::Version
|
98
|
-
version: '
|
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: '
|
107
|
+
version: '0'
|
106
108
|
- !ruby/object:Gem::Dependency
|
107
|
-
name:
|
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
|
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
|
121
|
+
version: '1.4'
|
120
122
|
- !ruby/object:Gem::Dependency
|
121
|
-
name:
|
123
|
+
name: public_suffix
|
122
124
|
requirement: !ruby/object:Gem::Requirement
|
123
125
|
requirements:
|
124
126
|
- - ">="
|
125
127
|
- !ruby/object:Gem::Version
|
126
|
-
version:
|
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:
|
138
|
+
version: 2.0.0
|
139
|
+
- - "<="
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: 3.0.0
|
134
142
|
- !ruby/object:Gem::Dependency
|
135
|
-
name:
|
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
|
-
-
|
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.
|
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.
|
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.
|
data/vendor/gems/her/Gemfile
DELETED
@@ -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
|