split 3.3.1 → 3.3.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 +5 -5
- data/.travis.yml +13 -1
- data/Appraisals +4 -0
- data/CHANGELOG.md +24 -2
- data/README.md +1 -1
- data/gemfiles/6.0.gemfile +9 -0
- data/lib/split.rb +8 -1
- data/lib/split/combined_experiments_helper.rb +1 -1
- data/lib/split/configuration.rb +1 -0
- data/lib/split/dashboard/helpers.rb +2 -2
- data/lib/split/helper.rb +2 -2
- data/lib/split/version.rb +1 -1
- data/spec/helper_spec.rb +5 -0
- data/split.gemspec +1 -0
- metadata +18 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 1d316599c60ca79cff957c25c44d5901c0c2a86c3631e516b07aeac5afc720d3
|
4
|
+
data.tar.gz: 004f09975e36482ab4a56b7bd63fd9d703f067a26d9e9fd99e0a80b6cc2853b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9001316e86f2e91289523c51097b67dac319ee1cd9a6b27e6f323496258824afe8921fcc306a7ecdc8787406b64f6c8eaa49febf06069afe9532f42218baf8f9
|
7
|
+
data.tar.gz: 51b13b3950580e2b446cf688f651632ed2135dec37168e9681e9cf46623ce9707ab8db2b947ca0d1711d0a49d64e1721d4d58ba09b9f5c3fab62ef6f747f5c8f
|
data/.travis.yml
CHANGED
@@ -14,6 +14,7 @@ gemfile:
|
|
14
14
|
- gemfiles/5.0.gemfile
|
15
15
|
- gemfiles/5.1.gemfile
|
16
16
|
- gemfiles/5.2.gemfile
|
17
|
+
- gemfiles/6.0.gemfile
|
17
18
|
|
18
19
|
|
19
20
|
matrix:
|
@@ -24,25 +25,36 @@ matrix:
|
|
24
25
|
gemfile: gemfiles/5.1.gemfile
|
25
26
|
- rvm: 1.9.3
|
26
27
|
gemfile: gemfiles/5.2.gemfile
|
28
|
+
- rvm: 1.9.3
|
29
|
+
gemfile: gemfiles/6.0.gemfile
|
27
30
|
- rvm: 2.0
|
28
31
|
gemfile: gemfiles/5.0.gemfile
|
29
32
|
- rvm: 2.0
|
30
33
|
gemfile: gemfiles/5.1.gemfile
|
31
34
|
- rvm: 2.0
|
32
35
|
gemfile: gemfiles/5.2.gemfile
|
36
|
+
- rvm: 2.0
|
37
|
+
gemfile: gemfiles/6.0.gemfile
|
33
38
|
- rvm: 2.1.10
|
34
39
|
gemfile: gemfiles/5.0.gemfile
|
35
40
|
- rvm: 2.1.10
|
36
41
|
gemfile: gemfiles/5.1.gemfile
|
37
42
|
- rvm: 2.1.10
|
38
43
|
gemfile: gemfiles/5.2.gemfile
|
44
|
+
- rvm: 2.1.10
|
45
|
+
gemfile: gemfiles/6.0.gemfile
|
39
46
|
- rvm: 2.2.0
|
40
47
|
gemfile: gemfiles/5.0.gemfile
|
41
48
|
- rvm: 2.2.0
|
42
49
|
gemfile: gemfiles/5.1.gemfile
|
43
50
|
- rvm: 2.2.0
|
44
51
|
gemfile: gemfiles/5.2.gemfile
|
45
|
-
|
52
|
+
- rvm: 2.2.0
|
53
|
+
gemfile: gemfiles/6.0.gemfile
|
54
|
+
- rvm: 2.2.2
|
55
|
+
gemfile: gemfiles/6.0.gemfile
|
56
|
+
- rvm: 2.4.5
|
57
|
+
gemfile: gemfiles/6.0.gemfile
|
46
58
|
|
47
59
|
before_install:
|
48
60
|
- gem install bundler --version=1.17.3
|
data/Appraisals
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,11 +1,33 @@
|
|
1
|
+
## 3.3.2 (April 12th, 2019)
|
2
|
+
|
3
|
+
Features:
|
4
|
+
- Added uptime robot to configuration.rb (@razel1982, #556)
|
5
|
+
- Check to see if being run in Rails application and run in before_initialize (@husteadrobert, #555)
|
6
|
+
|
7
|
+
Bugfixes:
|
8
|
+
- Fix error message interpolation (@hanibash, #553)
|
9
|
+
- Fix Bigdecimal warnings (@agraves, #551)
|
10
|
+
- Avoid hitting up on redis for robots/excluded users. (@andrehjr, #544)
|
11
|
+
- Checks for defined?(request) on Helper#exclude_visitor?. (@andrehjr)
|
12
|
+
|
13
|
+
Misc:
|
14
|
+
- Update travis to add Rails 6 (@edmilton, #559)
|
15
|
+
- Fix broken specs in developement environment (@dougpetronilio, #557)
|
16
|
+
|
1
17
|
## 3.3.1 (January 11th, 2019)
|
18
|
+
|
19
|
+
Features:
|
2
20
|
- Filter some more bots (@janosch-x, #542)
|
21
|
+
|
22
|
+
Bugfixes:
|
3
23
|
- Fix Dashboard Pagination Helper typo (@cattekin, #541)
|
4
|
-
- Tweak RSpec instructions (@eliotsykes, #540)
|
5
24
|
- Do not storage alternative in cookie if experiment has a winner (@sadhu89, #539)
|
6
|
-
- Improve README regarding rspec usage (@vermaxik, #538)
|
7
25
|
- fix user participating alternative not found (@NaturalHokke, #536)
|
8
26
|
|
27
|
+
Misc:
|
28
|
+
- Tweak RSpec instructions (@eliotsykes, #540)
|
29
|
+
- Improve README regarding rspec usage (@vermaxik, #538)
|
30
|
+
|
9
31
|
## 3.3.0 (August 13th, 2018)
|
10
32
|
|
11
33
|
Features:
|
data/README.md
CHANGED
data/lib/split.rb
CHANGED
@@ -66,4 +66,11 @@ module Split
|
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
69
|
-
|
69
|
+
# Check to see if being run in a Rails application. If so, wait until before_initialize to run configuration so Gems that create ENV variables have the chance to initialize first.
|
70
|
+
if defined?(::Rails)
|
71
|
+
class Railtie < Rails::Railtie
|
72
|
+
config.before_initialize { Split.configure {} }
|
73
|
+
end
|
74
|
+
else
|
75
|
+
Split.configure {}
|
76
|
+
end
|
@@ -3,7 +3,7 @@ module Split
|
|
3
3
|
module CombinedExperimentsHelper
|
4
4
|
def ab_combined_test(metric_descriptor, control = nil, *alternatives)
|
5
5
|
return nil unless experiment = find_combined_experiment(metric_descriptor)
|
6
|
-
raise(Split::InvalidExperimentsFormatError,
|
6
|
+
raise(Split::InvalidExperimentsFormatError, "Unable to find experiment #{metric_descriptor} in configuration") if experiment[:combined_experiments].nil?
|
7
7
|
|
8
8
|
alternative = nil
|
9
9
|
weighted_alternatives = nil
|
data/lib/split/configuration.rb
CHANGED
@@ -98,6 +98,7 @@ module Split
|
|
98
98
|
'Panopta' => 'Monitoring service',
|
99
99
|
'Pingdom' => 'Pingdom monitoring',
|
100
100
|
'SiteUptime' => 'Site monitoring services',
|
101
|
+
'UptimeRobot' => 'Monitoring service',
|
101
102
|
|
102
103
|
# ???
|
103
104
|
'DigitalPersona Fingerprint Software' => 'HP Fingerprint scanner',
|
data/lib/split/helper.rb
CHANGED
@@ -8,7 +8,7 @@ module Split
|
|
8
8
|
def ab_test(metric_descriptor, control = nil, *alternatives)
|
9
9
|
begin
|
10
10
|
experiment = ExperimentCatalog.find_or_initialize(metric_descriptor, control, *alternatives)
|
11
|
-
alternative = if Split.configuration.enabled
|
11
|
+
alternative = if Split.configuration.enabled && !exclude_visitor?
|
12
12
|
experiment.save
|
13
13
|
raise(Split::InvalidExperimentsFormatError) unless (Split.configuration.experiments || {}).fetch(experiment.name.to_sym, {})[:combined_experiments].nil?
|
14
14
|
trial = Trial.new(:user => ab_user, :experiment => experiment,
|
@@ -122,7 +122,7 @@ module Split
|
|
122
122
|
end
|
123
123
|
|
124
124
|
def exclude_visitor?
|
125
|
-
instance_exec(request, &Split.configuration.ignore_filter) || is_ignored_ip_address? || is_robot? || is_preview?
|
125
|
+
defined?(request) && (instance_exec(request, &Split.configuration.ignore_filter) || is_ignored_ip_address? || is_robot? || is_preview?)
|
126
126
|
end
|
127
127
|
|
128
128
|
def is_robot?
|
data/lib/split/version.rb
CHANGED
data/spec/helper_spec.rb
CHANGED
@@ -564,6 +564,11 @@ describe Split::Helper do
|
|
564
564
|
expect(alternative).to eq experiment.control.name
|
565
565
|
end
|
566
566
|
|
567
|
+
it 'should not create a experiment' do
|
568
|
+
ab_test('link_color', 'blue', 'red')
|
569
|
+
expect(Split::Experiment.new('link_color')).to be_a_new_record
|
570
|
+
end
|
571
|
+
|
567
572
|
it "should not increment the participation count" do
|
568
573
|
|
569
574
|
previous_red_count = Split::Alternative.new('red', 'link_color').participant_count
|
data/split.gemspec
CHANGED
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: 3.3.
|
4
|
+
version: 3.3.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: 2019-
|
11
|
+
date: 2019-04-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redis
|
@@ -150,6 +150,20 @@ dependencies:
|
|
150
150
|
- - "~>"
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '0.7'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: rails
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '4.2'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '4.2'
|
153
167
|
description:
|
154
168
|
email:
|
155
169
|
- andrewnez@gmail.com
|
@@ -176,6 +190,7 @@ files:
|
|
176
190
|
- gemfiles/5.0.gemfile
|
177
191
|
- gemfiles/5.1.gemfile
|
178
192
|
- gemfiles/5.2.gemfile
|
193
|
+
- gemfiles/6.0.gemfile
|
179
194
|
- lib/split.rb
|
180
195
|
- lib/split/algorithms/block_randomization.rb
|
181
196
|
- lib/split/algorithms/weighted_sample.rb
|
@@ -270,7 +285,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
270
285
|
version: 2.0.0
|
271
286
|
requirements: []
|
272
287
|
rubyforge_project: split
|
273
|
-
rubygems_version: 2.6
|
288
|
+
rubygems_version: 2.7.6
|
274
289
|
signing_key:
|
275
290
|
specification_version: 4
|
276
291
|
summary: Rack based split testing framework
|