split 4.0.1 → 4.0.2
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 +4 -4
- data/.github/workflows/ci.yml +6 -3
- data/.rubocop.yml +2 -5
- data/CHANGELOG.md +23 -0
- data/CONTRIBUTING.md +1 -1
- data/Gemfile +2 -1
- data/README.md +4 -2
- data/Rakefile +4 -5
- data/gemfiles/5.2.gemfile +1 -3
- data/gemfiles/6.0.gemfile +1 -3
- data/gemfiles/6.1.gemfile +1 -3
- data/gemfiles/7.0.gemfile +2 -3
- data/lib/split/algorithms/block_randomization.rb +5 -6
- data/lib/split/algorithms/whiplash.rb +16 -18
- data/lib/split/algorithms.rb +22 -0
- data/lib/split/alternative.rb +21 -22
- data/lib/split/cache.rb +0 -1
- data/lib/split/combined_experiments_helper.rb +4 -4
- data/lib/split/configuration.rb +83 -84
- data/lib/split/dashboard/helpers.rb +6 -7
- data/lib/split/dashboard/pagination_helpers.rb +53 -54
- data/lib/split/dashboard/public/style.css +5 -2
- data/lib/split/dashboard/views/index.erb +19 -4
- data/lib/split/dashboard.rb +29 -23
- data/lib/split/encapsulated_helper.rb +4 -6
- data/lib/split/experiment.rb +84 -88
- data/lib/split/experiment_catalog.rb +6 -5
- data/lib/split/extensions/string.rb +1 -1
- data/lib/split/goals_collection.rb +8 -10
- data/lib/split/helper.rb +19 -19
- data/lib/split/metric.rb +4 -5
- data/lib/split/persistence/cookie_adapter.rb +44 -47
- data/lib/split/persistence/dual_adapter.rb +7 -8
- data/lib/split/persistence/redis_adapter.rb +2 -3
- data/lib/split/persistence/session_adapter.rb +0 -2
- data/lib/split/persistence.rb +4 -4
- data/lib/split/redis_interface.rb +1 -2
- data/lib/split/trial.rb +23 -24
- data/lib/split/user.rb +12 -13
- data/lib/split/version.rb +1 -1
- data/lib/split/zscore.rb +1 -3
- data/lib/split.rb +26 -25
- data/spec/algorithms/block_randomization_spec.rb +6 -5
- data/spec/algorithms/weighted_sample_spec.rb +6 -5
- data/spec/algorithms/whiplash_spec.rb +4 -5
- data/spec/alternative_spec.rb +35 -36
- data/spec/cache_spec.rb +15 -19
- data/spec/combined_experiments_helper_spec.rb +18 -17
- data/spec/configuration_spec.rb +32 -38
- data/spec/dashboard/pagination_helpers_spec.rb +69 -67
- data/spec/dashboard/paginator_spec.rb +10 -9
- data/spec/dashboard_helpers_spec.rb +19 -18
- data/spec/dashboard_spec.rb +67 -35
- data/spec/encapsulated_helper_spec.rb +12 -14
- data/spec/experiment_catalog_spec.rb +14 -13
- data/spec/experiment_spec.rb +121 -123
- data/spec/goals_collection_spec.rb +17 -15
- data/spec/helper_spec.rb +379 -382
- data/spec/metric_spec.rb +14 -14
- data/spec/persistence/cookie_adapter_spec.rb +23 -8
- data/spec/persistence/dual_adapter_spec.rb +71 -71
- data/spec/persistence/redis_adapter_spec.rb +25 -26
- data/spec/persistence/session_adapter_spec.rb +2 -3
- data/spec/persistence_spec.rb +1 -2
- data/spec/redis_interface_spec.rb +16 -14
- data/spec/spec_helper.rb +15 -13
- data/spec/split_spec.rb +11 -11
- data/spec/support/cookies_mock.rb +1 -2
- data/spec/trial_spec.rb +61 -60
- data/spec/user_spec.rb +36 -36
- data/split.gemspec +20 -20
- metadata +7 -10
- data/.rubocop_todo.yml +0 -226
- data/Appraisals +0 -19
- data/gemfiles/5.0.gemfile +0 -9
- data/gemfiles/5.1.gemfile +0 -9
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: split
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Nesbitt
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-12-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redis
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
89
|
+
version: '2.0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
96
|
+
version: '2.0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rake
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -168,8 +168,6 @@ files:
|
|
168
168
|
- ".gitignore"
|
169
169
|
- ".rspec"
|
170
170
|
- ".rubocop.yml"
|
171
|
-
- ".rubocop_todo.yml"
|
172
|
-
- Appraisals
|
173
171
|
- CHANGELOG.md
|
174
172
|
- CODE_OF_CONDUCT.md
|
175
173
|
- CONTRIBUTING.md
|
@@ -177,13 +175,12 @@ files:
|
|
177
175
|
- LICENSE
|
178
176
|
- README.md
|
179
177
|
- Rakefile
|
180
|
-
- gemfiles/5.0.gemfile
|
181
|
-
- gemfiles/5.1.gemfile
|
182
178
|
- gemfiles/5.2.gemfile
|
183
179
|
- gemfiles/6.0.gemfile
|
184
180
|
- gemfiles/6.1.gemfile
|
185
181
|
- gemfiles/7.0.gemfile
|
186
182
|
- lib/split.rb
|
183
|
+
- lib/split/algorithms.rb
|
187
184
|
- lib/split/algorithms/block_randomization.rb
|
188
185
|
- lib/split/algorithms/weighted_sample.rb
|
189
186
|
- lib/split/algorithms/whiplash.rb
|
@@ -258,7 +255,7 @@ licenses:
|
|
258
255
|
- MIT
|
259
256
|
metadata:
|
260
257
|
homepage_uri: https://github.com/splitrb/split
|
261
|
-
changelog_uri: https://github.com/splitrb/split/blob/
|
258
|
+
changelog_uri: https://github.com/splitrb/split/blob/main/CHANGELOG.md
|
262
259
|
source_code_uri: https://github.com/splitrb/split
|
263
260
|
bug_tracker_uri: https://github.com/splitrb/split/issues
|
264
261
|
wiki_uri: https://github.com/splitrb/split/wiki
|
@@ -278,7 +275,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
278
275
|
- !ruby/object:Gem::Version
|
279
276
|
version: 2.0.0
|
280
277
|
requirements: []
|
281
|
-
rubygems_version: 3.
|
278
|
+
rubygems_version: 3.3.7
|
282
279
|
signing_key:
|
283
280
|
specification_version: 4
|
284
281
|
summary: Rack based split testing framework
|
data/.rubocop_todo.yml
DELETED
@@ -1,226 +0,0 @@
|
|
1
|
-
# This configuration was generated by
|
2
|
-
# `rubocop --auto-gen-config`
|
3
|
-
# on 2020-07-05 01:43:26 UTC using RuboCop version 0.86.0.
|
4
|
-
# The point is for the user to remove these configuration records
|
5
|
-
# one by one as the offenses are removed from the code base.
|
6
|
-
# Note that changes in the inspected code, or installation of new
|
7
|
-
# versions of RuboCop, may require this file to be generated again.
|
8
|
-
|
9
|
-
# Offense count: 1
|
10
|
-
# Cop supports --auto-correct.
|
11
|
-
Layout/CommentIndentation:
|
12
|
-
Exclude:
|
13
|
-
- 'lib/split/experiment.rb'
|
14
|
-
|
15
|
-
# Offense count: 1
|
16
|
-
# Cop supports --auto-correct.
|
17
|
-
Layout/ElseAlignment:
|
18
|
-
Exclude:
|
19
|
-
- 'lib/split/experiment.rb'
|
20
|
-
|
21
|
-
# Offense count: 14
|
22
|
-
# Cop supports --auto-correct.
|
23
|
-
# Configuration parameters: EnforcedStyle.
|
24
|
-
# SupportedStyles: around, only_before
|
25
|
-
Layout/EmptyLinesAroundAccessModifier:
|
26
|
-
Exclude:
|
27
|
-
- 'lib/split/algorithms/block_randomization.rb'
|
28
|
-
- 'lib/split/algorithms/whiplash.rb'
|
29
|
-
- 'lib/split/alternative.rb'
|
30
|
-
- 'lib/split/configuration.rb'
|
31
|
-
- 'lib/split/dashboard/pagination_helpers.rb'
|
32
|
-
- 'lib/split/encapsulated_helper.rb'
|
33
|
-
- 'lib/split/experiment.rb'
|
34
|
-
- 'lib/split/goals_collection.rb'
|
35
|
-
- 'lib/split/persistence/cookie_adapter.rb'
|
36
|
-
- 'lib/split/persistence/dual_adapter.rb'
|
37
|
-
- 'lib/split/redis_interface.rb'
|
38
|
-
- 'lib/split/trial.rb'
|
39
|
-
- 'lib/split/user.rb'
|
40
|
-
|
41
|
-
# Offense count: 8
|
42
|
-
# Cop supports --auto-correct.
|
43
|
-
# Configuration parameters: EnforcedStyle.
|
44
|
-
# SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines, beginning_only, ending_only
|
45
|
-
Layout/EmptyLinesAroundClassBody:
|
46
|
-
Exclude:
|
47
|
-
- 'lib/split/experiment_catalog.rb'
|
48
|
-
- 'lib/split/goals_collection.rb'
|
49
|
-
- 'lib/split/metric.rb'
|
50
|
-
- 'lib/split/persistence/cookie_adapter.rb'
|
51
|
-
- 'lib/split/persistence/redis_adapter.rb'
|
52
|
-
- 'lib/split/persistence/session_adapter.rb'
|
53
|
-
- 'lib/split/zscore.rb'
|
54
|
-
|
55
|
-
# Offense count: 2
|
56
|
-
# Cop supports --auto-correct.
|
57
|
-
Layout/EmptyLinesAroundMethodBody:
|
58
|
-
Exclude:
|
59
|
-
- 'lib/split/dashboard/helpers.rb'
|
60
|
-
- 'lib/split/zscore.rb'
|
61
|
-
|
62
|
-
# Offense count: 1
|
63
|
-
# Cop supports --auto-correct.
|
64
|
-
# Configuration parameters: EnforcedStyle.
|
65
|
-
# SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines
|
66
|
-
Layout/EmptyLinesAroundModuleBody:
|
67
|
-
Exclude:
|
68
|
-
- 'lib/split/encapsulated_helper.rb'
|
69
|
-
|
70
|
-
# Offense count: 4
|
71
|
-
# Cop supports --auto-correct.
|
72
|
-
# Configuration parameters: EnforcedStyleAlignWith, AutoCorrect, Severity.
|
73
|
-
# SupportedStylesAlignWith: keyword, variable, start_of_line
|
74
|
-
Layout/EndAlignment:
|
75
|
-
Exclude:
|
76
|
-
- 'lib/split/configuration.rb'
|
77
|
-
- 'lib/split/experiment.rb'
|
78
|
-
- 'lib/split/trial.rb'
|
79
|
-
|
80
|
-
# Offense count: 17
|
81
|
-
# Cop supports --auto-correct.
|
82
|
-
# Configuration parameters: Width, IgnoredPatterns.
|
83
|
-
Layout/IndentationWidth:
|
84
|
-
Exclude:
|
85
|
-
- 'lib/split/algorithms/block_randomization.rb'
|
86
|
-
- 'lib/split/algorithms/whiplash.rb'
|
87
|
-
- 'lib/split/alternative.rb'
|
88
|
-
- 'lib/split/configuration.rb'
|
89
|
-
- 'lib/split/dashboard/pagination_helpers.rb'
|
90
|
-
- 'lib/split/encapsulated_helper.rb'
|
91
|
-
- 'lib/split/experiment.rb'
|
92
|
-
- 'lib/split/goals_collection.rb'
|
93
|
-
- 'lib/split/persistence/cookie_adapter.rb'
|
94
|
-
- 'lib/split/persistence/dual_adapter.rb'
|
95
|
-
- 'lib/split/redis_interface.rb'
|
96
|
-
- 'lib/split/trial.rb'
|
97
|
-
- 'lib/split/user.rb'
|
98
|
-
|
99
|
-
# Offense count: 4
|
100
|
-
# Cop supports --auto-correct.
|
101
|
-
# Configuration parameters: EnforcedStyle.
|
102
|
-
# SupportedStyles: space, no_space
|
103
|
-
Layout/SpaceAroundEqualsInParameterDefault:
|
104
|
-
Exclude:
|
105
|
-
- 'lib/split/goals_collection.rb'
|
106
|
-
- 'lib/split/persistence/dual_adapter.rb'
|
107
|
-
- 'lib/split/persistence/redis_adapter.rb'
|
108
|
-
- 'lib/split/user.rb'
|
109
|
-
|
110
|
-
# Offense count: 15
|
111
|
-
# Cop supports --auto-correct.
|
112
|
-
# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces.
|
113
|
-
# SupportedStyles: space, no_space
|
114
|
-
# SupportedStylesForEmptyBraces: space, no_space
|
115
|
-
Layout/SpaceBeforeBlockBraces:
|
116
|
-
Exclude:
|
117
|
-
- 'lib/split/configuration.rb'
|
118
|
-
- 'lib/split/experiment.rb'
|
119
|
-
- 'lib/split/experiment_catalog.rb'
|
120
|
-
- 'lib/split/helper.rb'
|
121
|
-
- 'lib/split/trial.rb'
|
122
|
-
|
123
|
-
# Offense count: 35
|
124
|
-
# Cop supports --auto-correct.
|
125
|
-
# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
|
126
|
-
# SupportedStyles: space, no_space
|
127
|
-
# SupportedStylesForEmptyBraces: space, no_space
|
128
|
-
Layout/SpaceInsideBlockBraces:
|
129
|
-
Exclude:
|
130
|
-
- 'lib/split.rb'
|
131
|
-
- 'lib/split/configuration.rb'
|
132
|
-
- 'lib/split/experiment.rb'
|
133
|
-
- 'lib/split/experiment_catalog.rb'
|
134
|
-
- 'lib/split/helper.rb'
|
135
|
-
- 'lib/split/trial.rb'
|
136
|
-
- 'lib/split/user.rb'
|
137
|
-
|
138
|
-
# Offense count: 10
|
139
|
-
# Cop supports --auto-correct.
|
140
|
-
# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces.
|
141
|
-
# SupportedStyles: space, no_space, compact
|
142
|
-
# SupportedStylesForEmptyBraces: space, no_space
|
143
|
-
Layout/SpaceInsideHashLiteralBraces:
|
144
|
-
Exclude:
|
145
|
-
- 'lib/split/experiment.rb'
|
146
|
-
- 'lib/split/helper.rb'
|
147
|
-
- 'lib/split/persistence/redis_adapter.rb'
|
148
|
-
|
149
|
-
# Offense count: 1
|
150
|
-
# Cop supports --auto-correct.
|
151
|
-
# Configuration parameters: EnforcedStyle.
|
152
|
-
# SupportedStyles: final_newline, final_blank_line
|
153
|
-
Layout/TrailingEmptyLines:
|
154
|
-
Exclude:
|
155
|
-
- 'Rakefile'
|
156
|
-
|
157
|
-
# Offense count: 3
|
158
|
-
# Cop supports --auto-correct.
|
159
|
-
# Configuration parameters: AllowInHeredoc.
|
160
|
-
Layout/TrailingWhitespace:
|
161
|
-
Exclude:
|
162
|
-
- 'lib/split/helper.rb'
|
163
|
-
|
164
|
-
# Offense count: 1
|
165
|
-
Lint/UselessAssignment:
|
166
|
-
Exclude:
|
167
|
-
- 'lib/split/goals_collection.rb'
|
168
|
-
|
169
|
-
# Offense count: 1
|
170
|
-
# Cop supports --auto-correct.
|
171
|
-
# Configuration parameters: EnforcedStyle.
|
172
|
-
# SupportedStyles: always, conditionals
|
173
|
-
Style/AndOr:
|
174
|
-
Exclude:
|
175
|
-
- 'lib/split/experiment_catalog.rb'
|
176
|
-
|
177
|
-
# Offense count: 1
|
178
|
-
# Cop supports --auto-correct.
|
179
|
-
Style/ColonMethodCall:
|
180
|
-
Exclude:
|
181
|
-
- 'lib/split/combined_experiments_helper.rb'
|
182
|
-
|
183
|
-
# Offense count: 1
|
184
|
-
# Cop supports --auto-correct.
|
185
|
-
Style/DefWithParentheses:
|
186
|
-
Exclude:
|
187
|
-
- 'lib/split/helper.rb'
|
188
|
-
|
189
|
-
# Offense count: 23
|
190
|
-
# Cop supports --auto-correct.
|
191
|
-
# Configuration parameters: EnforcedStyle, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
|
192
|
-
# SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
|
193
|
-
Style/HashSyntax:
|
194
|
-
Exclude:
|
195
|
-
- 'Rakefile'
|
196
|
-
- 'lib/split/experiment.rb'
|
197
|
-
- 'lib/split/experiment_catalog.rb'
|
198
|
-
- 'lib/split/helper.rb'
|
199
|
-
- 'lib/split/metric.rb'
|
200
|
-
- 'lib/split/persistence.rb'
|
201
|
-
- 'lib/split/persistence/redis_adapter.rb'
|
202
|
-
|
203
|
-
# Offense count: 1
|
204
|
-
# Cop supports --auto-correct.
|
205
|
-
# Configuration parameters: EnforcedStyle.
|
206
|
-
# SupportedStyles: require_parentheses, require_no_parentheses, require_no_parentheses_except_multiline
|
207
|
-
Style/MethodDefParentheses:
|
208
|
-
Exclude:
|
209
|
-
- 'lib/split/configuration.rb'
|
210
|
-
|
211
|
-
# Offense count: 9
|
212
|
-
# Cop supports --auto-correct.
|
213
|
-
# Configuration parameters: AllowMultipleReturnValues.
|
214
|
-
Style/RedundantReturn:
|
215
|
-
Exclude:
|
216
|
-
- 'lib/split/alternative.rb'
|
217
|
-
- 'lib/split/experiment.rb'
|
218
|
-
- 'lib/split/helper.rb'
|
219
|
-
- 'lib/split/zscore.rb'
|
220
|
-
|
221
|
-
# Offense count: 258
|
222
|
-
# Cop supports --auto-correct.
|
223
|
-
# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
|
224
|
-
# SupportedStyles: single_quotes, double_quotes
|
225
|
-
Style/StringLiterals:
|
226
|
-
Enabled: false
|
data/Appraisals
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
appraise "4.2" do
|
2
|
-
gem "rails", "~> 4.2"
|
3
|
-
end
|
4
|
-
|
5
|
-
appraise "5.0" do
|
6
|
-
gem "rails", "~> 5.0"
|
7
|
-
end
|
8
|
-
|
9
|
-
appraise "5.1" do
|
10
|
-
gem "rails", "~> 5.1"
|
11
|
-
end
|
12
|
-
|
13
|
-
appraise "5.2" do
|
14
|
-
gem "rails", "~> 5.2"
|
15
|
-
end
|
16
|
-
|
17
|
-
appraise "6.0" do
|
18
|
-
gem 'rails', '~> 6.0'
|
19
|
-
end
|
data/gemfiles/5.0.gemfile
DELETED