split 1.3.0 → 1.3.1
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/.travis.yml +4 -3
- data/Appraisals +2 -10
- data/CHANGELOG.md +11 -5
- data/LICENSE +1 -1
- data/README.md +3 -2
- data/gemfiles/4.1.gemfile +1 -1
- data/gemfiles/4.2.gemfile +1 -1
- data/lib/split/dashboard.rb +5 -5
- data/lib/split/dashboard/views/_controls.erb +4 -4
- data/lib/split/dashboard/views/_experiment.erb +1 -1
- data/lib/split/experiment.rb +6 -5
- data/lib/split/version.rb +1 -1
- data/spec/configuration_spec.rb +2 -2
- data/spec/dashboard_spec.rb +8 -8
- data/spec/experiment_catalog_spec.rb +2 -2
- data/spec/experiment_spec.rb +2 -2
- data/spec/helper_spec.rb +7 -7
- data/spec/persistence/redis_adapter_spec.rb +1 -2
- data/spec/persistence_spec.rb +1 -1
- data/split.gemspec +5 -5
- metadata +19 -22
- data/gemfiles/3.2.gemfile +0 -8
- data/gemfiles/4.0.gemfile +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c3be3075da830ca06ace5ff9a940376dd572ba01
|
4
|
+
data.tar.gz: 817bc46b6d8a5042523e347fcf4b6607edefe16f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca0a492e129fcf2a823950c47d5db418a56ba3841680cb9057958570bf1444d619c12bb095b46d2e816056bc94b058ad79e2dc6358f3514e24b63d011013fe7a
|
7
|
+
data.tar.gz: 5207f26da88b7eaf4a47ad73c340b238de9dc7ee1874d684501bf4ee9190cbc8333f7ea37070ca6734d97569c7733ed0a3d88b7d81665b7c8220563a20b0dcd9
|
data/.travis.yml
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
language: ruby
|
2
2
|
rvm:
|
3
|
-
- 2.2.
|
3
|
+
- 2.2.4
|
4
4
|
|
5
5
|
gemfile:
|
6
|
-
- gemfiles/3.2.gemfile
|
7
|
-
- gemfiles/4.0.gemfile
|
8
6
|
- gemfiles/4.1.gemfile
|
9
7
|
- gemfiles/4.2.gemfile
|
10
8
|
|
9
|
+
before_install:
|
10
|
+
- gem install bundler
|
11
|
+
|
11
12
|
services:
|
12
13
|
- redis-server
|
13
14
|
cache: bundler
|
data/Appraisals
CHANGED
@@ -1,15 +1,7 @@
|
|
1
|
-
appraise "3.2" do
|
2
|
-
gem "rails", "~> 3.2.21"
|
3
|
-
end
|
4
|
-
|
5
|
-
appraise "4.0" do
|
6
|
-
gem "rails", "~> 4.0.13"
|
7
|
-
end
|
8
|
-
|
9
1
|
appraise "4.1" do
|
10
|
-
gem "rails", "~> 4.1
|
2
|
+
gem "rails", "~> 4.1"
|
11
3
|
end
|
12
4
|
|
13
5
|
appraise "4.2" do
|
14
|
-
gem "rails", "~> 4.2
|
6
|
+
gem "rails", "~> 4.2"
|
15
7
|
end
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,12 @@
|
|
1
|
+
## 1.3.1 (January 1st, 2016)
|
2
|
+
|
3
|
+
Bugfixes:
|
4
|
+
|
5
|
+
- Fix the dashboard for experiments with ‘/‘ in the name. (@craigmcnamara, #349)
|
6
|
+
|
1
7
|
## 1.3.0 (October 20th, 2015)
|
2
8
|
|
3
|
-
Features
|
9
|
+
Features:
|
4
10
|
|
5
11
|
- allow for custom redis_url different from ENV variable (@davidgrieser, #323)
|
6
12
|
- add ability to change the length of the persistence cookie (@peterylai, #335)
|
@@ -18,7 +24,7 @@ Misc:
|
|
18
24
|
|
19
25
|
## 1.2.1 (May 17th, 2015)
|
20
26
|
|
21
|
-
Features
|
27
|
+
Features:
|
22
28
|
|
23
29
|
- Handle redis DNS resolution failures gracefully (@fusion2004, #310)
|
24
30
|
- Push metadata to ab_test block (@ekorneeff, #296)
|
@@ -38,7 +44,7 @@ Misc:
|
|
38
44
|
|
39
45
|
## 1.2.0 (January 24th, 2015)
|
40
46
|
|
41
|
-
Features
|
47
|
+
Features:
|
42
48
|
|
43
49
|
- Configure redis using environment variables if available (@saratovsource , #293)
|
44
50
|
- Store metadata on experiment configuration (@dekz, #291)
|
@@ -108,7 +114,7 @@ Features:
|
|
108
114
|
|
109
115
|
- You can now reopen experiment from the dashboard (@mikezaby, #235)
|
110
116
|
|
111
|
-
Misc
|
117
|
+
Misc:
|
112
118
|
|
113
119
|
- Internal code tidy up (@IanVaughan, #238)
|
114
120
|
|
@@ -123,7 +129,7 @@ Bugfixes:
|
|
123
129
|
|
124
130
|
- Fixed start button not being displayed in some cases (@vigosan, #219)
|
125
131
|
|
126
|
-
Misc
|
132
|
+
Misc:
|
127
133
|
|
128
134
|
- Experiment#initialize refactoring (@nberger, #224)
|
129
135
|
- Extract ExperimentStore into a seperate class (@nberger, #225)
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -125,7 +125,7 @@ ab_test(:homepage_design, {'Old' => 18}, {'New' => 2})
|
|
125
125
|
|
126
126
|
ab_test(:homepage_design, 'Old', {'New' => 1.0/9})
|
127
127
|
|
128
|
-
ab_test(:homepage_design
|
128
|
+
ab_test(:homepage_design, {'Old' => 9}, 'New')
|
129
129
|
```
|
130
130
|
|
131
131
|
This will only show the new alternative to visitors 1 in 10 times, the default weight for an alternative is 1.
|
@@ -661,6 +661,7 @@ end
|
|
661
661
|
- [Split::Mongoid](https://github.com/MongoHQ/split-mongoid) - store experiment data in mongoid (still uses redis)
|
662
662
|
- [Split::Cacheable](https://github.com/harrystech/split_cacheable) - automatically create cache buckets per test
|
663
663
|
- [Split::Counters](https://github.com/bernardkroes/split-counters) - add counters per experiment and alternative
|
664
|
+
- [Split::Cli](https://github.com/craigmcnamara/split-cli) - a CLI to trigger Split A/B tests
|
664
665
|
|
665
666
|
## Screencast
|
666
667
|
|
@@ -697,4 +698,4 @@ Tests can be ran with `rake spec`
|
|
697
698
|
|
698
699
|
## Copyright
|
699
700
|
|
700
|
-
Copyright (c)
|
701
|
+
Copyright (c) 2016 Andrew Nesbitt. See [LICENSE](https://github.com/splitrb/split/blob/master/LICENSE) for details.
|
data/gemfiles/4.1.gemfile
CHANGED
data/gemfiles/4.2.gemfile
CHANGED
data/lib/split/dashboard.rb
CHANGED
@@ -29,32 +29,32 @@ module Split
|
|
29
29
|
erb :index
|
30
30
|
end
|
31
31
|
|
32
|
-
post '
|
32
|
+
post '/experiment' do
|
33
33
|
@experiment = Split::ExperimentCatalog.find(params[:experiment])
|
34
34
|
@alternative = Split::Alternative.new(params[:alternative], params[:experiment])
|
35
35
|
@experiment.winner = @alternative.name
|
36
36
|
redirect url('/')
|
37
37
|
end
|
38
38
|
|
39
|
-
post '/start
|
39
|
+
post '/start' do
|
40
40
|
@experiment = Split::ExperimentCatalog.find(params[:experiment])
|
41
41
|
@experiment.start
|
42
42
|
redirect url('/')
|
43
43
|
end
|
44
44
|
|
45
|
-
post '/reset
|
45
|
+
post '/reset' do
|
46
46
|
@experiment = Split::ExperimentCatalog.find(params[:experiment])
|
47
47
|
@experiment.reset
|
48
48
|
redirect url('/')
|
49
49
|
end
|
50
50
|
|
51
|
-
post '/reopen
|
51
|
+
post '/reopen' do
|
52
52
|
@experiment = Split::ExperimentCatalog.find(params[:experiment])
|
53
53
|
@experiment.reset_winner
|
54
54
|
redirect url('/')
|
55
55
|
end
|
56
56
|
|
57
|
-
delete '
|
57
|
+
delete '/experiment' do
|
58
58
|
@experiment = Split::ExperimentCatalog.find(params[:experiment])
|
59
59
|
@experiment.delete
|
60
60
|
redirect url('/')
|
@@ -1,18 +1,18 @@
|
|
1
1
|
<% if experiment.has_winner? %>
|
2
|
-
<form action="<%= url "/reopen
|
2
|
+
<form action="<%= url "/reopen?experiment=#{experiment.name}" %>" method='post' onclick="return confirmReopen()">
|
3
3
|
<input type="submit" value="Reopen Experiment">
|
4
4
|
</form>
|
5
5
|
<% end %>
|
6
6
|
<% if experiment.start_time %>
|
7
|
-
<form action="<%= url "/reset
|
7
|
+
<form action="<%= url "/reset?experiment=#{experiment.name}" %>" method='post' onclick="return confirmReset()">
|
8
8
|
<input type="submit" value="Reset Data">
|
9
9
|
</form>
|
10
10
|
<% else%>
|
11
|
-
<form action="<%= url "/start
|
11
|
+
<form action="<%= url "/start?experiment=#{experiment.name}" %>" method='post'>
|
12
12
|
<input type="submit" value="Start">
|
13
13
|
</form>
|
14
14
|
<% end %>
|
15
|
-
<form action="<%= url "
|
15
|
+
<form action="<%= url "/?experiment=#{experiment.name}" %>" method='post' onclick="return confirmDelete()">
|
16
16
|
<input type="hidden" name="_method" value="delete"/>
|
17
17
|
<input type="submit" value="Delete" class="red">
|
18
18
|
</form>
|
@@ -95,7 +95,7 @@
|
|
95
95
|
Loser
|
96
96
|
<% end %>
|
97
97
|
<% else %>
|
98
|
-
<form action="<%= url experiment.name %>" method='post' onclick="return confirmWinner()">
|
98
|
+
<form action="<%= url('experiment') + '?experiment=' + experiment.name %>" method='post' onclick="return confirmWinner()">
|
99
99
|
<input type='hidden' name='alternative' value='<%= h alternative.name %>'>
|
100
100
|
<input type="submit" value="Use this" class="green">
|
101
101
|
</form>
|
data/lib/split/experiment.rb
CHANGED
@@ -400,11 +400,12 @@ module Split
|
|
400
400
|
end
|
401
401
|
|
402
402
|
def jstring(goal = nil)
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
403
|
+
js_id = if goal.nil?
|
404
|
+
name
|
405
|
+
else
|
406
|
+
name + "-" + goal
|
407
|
+
end
|
408
|
+
js_id.gsub('/', '--')
|
408
409
|
end
|
409
410
|
|
410
411
|
protected
|
data/lib/split/version.rb
CHANGED
data/spec/configuration_spec.rb
CHANGED
@@ -182,7 +182,7 @@ describe Split::Configuration do
|
|
182
182
|
let(:input) { '' }
|
183
183
|
|
184
184
|
it "should raise an error" do
|
185
|
-
expect { @config.experiments = yaml }.to raise_error
|
185
|
+
expect { @config.experiments = yaml }.to raise_error(Split::InvalidExperimentsFormatError)
|
186
186
|
end
|
187
187
|
end
|
188
188
|
|
@@ -190,7 +190,7 @@ describe Split::Configuration do
|
|
190
190
|
let(:input) { '---' }
|
191
191
|
|
192
192
|
it "should raise an error" do
|
193
|
-
expect { @config.experiments = yaml }.to raise_error
|
193
|
+
expect { @config.experiments = yaml }.to raise_error(Split::InvalidExperimentsFormatError)
|
194
194
|
end
|
195
195
|
end
|
196
196
|
end
|
data/spec/dashboard_spec.rb
CHANGED
@@ -44,7 +44,7 @@ describe Split::Dashboard do
|
|
44
44
|
get '/'
|
45
45
|
expect(last_response.body).to include('Start')
|
46
46
|
|
47
|
-
post "/start
|
47
|
+
post "/start?experiment=#{experiment.name}"
|
48
48
|
get '/'
|
49
49
|
expect(last_response.body).to include('Reset Data')
|
50
50
|
expect(last_response.body).not_to include('Metrics:')
|
@@ -65,7 +65,7 @@ describe Split::Dashboard do
|
|
65
65
|
get '/'
|
66
66
|
expect(last_response.body).to include('Start')
|
67
67
|
|
68
|
-
post "/start
|
68
|
+
post "/start?experiment=#{experiment.name}"
|
69
69
|
get '/'
|
70
70
|
expect(last_response.body).to include('Reset Data')
|
71
71
|
end
|
@@ -96,13 +96,13 @@ describe Split::Dashboard do
|
|
96
96
|
before { experiment.winner = 'red' }
|
97
97
|
|
98
98
|
it 'redirects' do
|
99
|
-
post "/reopen
|
99
|
+
post "/reopen?experiment=#{experiment.name}"
|
100
100
|
|
101
101
|
expect(last_response).to be_redirect
|
102
102
|
end
|
103
103
|
|
104
104
|
it "removes winner" do
|
105
|
-
post "/reopen
|
105
|
+
post "/reopen?experiment=#{experiment.name}"
|
106
106
|
|
107
107
|
expect(experiment).to_not have_winner
|
108
108
|
end
|
@@ -112,7 +112,7 @@ describe Split::Dashboard do
|
|
112
112
|
blue_link.participant_count = 7
|
113
113
|
experiment.winner = 'blue'
|
114
114
|
|
115
|
-
post "/reopen
|
115
|
+
post "/reopen?experiment=#{experiment.name}"
|
116
116
|
|
117
117
|
expect(red_link.participant_count).to eq(5)
|
118
118
|
expect(blue_link.participant_count).to eq(7)
|
@@ -124,7 +124,7 @@ describe Split::Dashboard do
|
|
124
124
|
blue_link.participant_count = 7
|
125
125
|
experiment.winner = 'blue'
|
126
126
|
|
127
|
-
post "/reset
|
127
|
+
post "/reset?experiment=#{experiment.name}"
|
128
128
|
|
129
129
|
expect(last_response).to be_redirect
|
130
130
|
|
@@ -137,14 +137,14 @@ describe Split::Dashboard do
|
|
137
137
|
end
|
138
138
|
|
139
139
|
it "should delete an experiment" do
|
140
|
-
delete "
|
140
|
+
delete "/experiment?experiment=#{experiment.name}"
|
141
141
|
expect(last_response).to be_redirect
|
142
142
|
expect(Split::ExperimentCatalog.find(experiment.name)).to be_nil
|
143
143
|
end
|
144
144
|
|
145
145
|
it "should mark an alternative as the winner" do
|
146
146
|
expect(experiment.winner).to be_nil
|
147
|
-
post "
|
147
|
+
post "/experiment?experiment=#{experiment.name}", :alternative => 'red'
|
148
148
|
|
149
149
|
expect(last_response).to be_redirect
|
150
150
|
expect(experiment.winner.name).to eq('red')
|
@@ -13,11 +13,11 @@ describe Split::ExperimentCatalog do
|
|
13
13
|
end
|
14
14
|
|
15
15
|
it "should raise the appropriate error when passed integers for alternatives" do
|
16
|
-
expect { subject.find_or_create('xyz', 1, 2, 3) }.to raise_error
|
16
|
+
expect { subject.find_or_create('xyz', 1, 2, 3) }.to raise_error(ArgumentError)
|
17
17
|
end
|
18
18
|
|
19
19
|
it "should raise the appropriate error when passed symbols for alternatives" do
|
20
|
-
expect { subject.find_or_create('xyz', :a, :b, :c) }.to raise_error
|
20
|
+
expect { subject.find_or_create('xyz', :a, :b, :c) }.to raise_error(ArgumentError)
|
21
21
|
end
|
22
22
|
|
23
23
|
it "should not raise error when passed an array for goals" do
|
data/spec/experiment_spec.rb
CHANGED
@@ -343,8 +343,8 @@ describe Split::Experiment do
|
|
343
343
|
|
344
344
|
describe 'alternatives passed as non-strings' do
|
345
345
|
it "should throw an exception if an alternative is passed that is not a string" do
|
346
|
-
expect(lambda { Split::ExperimentCatalog.find_or_create('link_color', :blue, :red) }).to raise_error
|
347
|
-
expect(lambda { Split::ExperimentCatalog.find_or_create('link_enabled', true, false) }).to raise_error
|
346
|
+
expect(lambda { Split::ExperimentCatalog.find_or_create('link_color', :blue, :red) }).to raise_error(ArgumentError)
|
347
|
+
expect(lambda { Split::ExperimentCatalog.find_or_create('link_enabled', true, false) }).to raise_error(ArgumentError)
|
348
348
|
end
|
349
349
|
end
|
350
350
|
|
data/spec/helper_spec.rb
CHANGED
@@ -19,11 +19,11 @@ describe Split::Helper do
|
|
19
19
|
end
|
20
20
|
|
21
21
|
it "should raise the appropriate error when passed integers for alternatives" do
|
22
|
-
expect(lambda { ab_test('xyz', 1, 2, 3) }).to raise_error
|
22
|
+
expect(lambda { ab_test('xyz', 1, 2, 3) }).to raise_error(ArgumentError)
|
23
23
|
end
|
24
24
|
|
25
25
|
it "should raise the appropriate error when passed symbols for alternatives" do
|
26
|
-
expect(lambda { ab_test('xyz', :a, :b, :c) }).to raise_error
|
26
|
+
expect(lambda { ab_test('xyz', :a, :b, :c) }).to raise_error(ArgumentError)
|
27
27
|
end
|
28
28
|
|
29
29
|
it "should not raise error when passed an array for goals" do
|
@@ -449,7 +449,7 @@ describe Split::Helper do
|
|
449
449
|
expect(active_experiments.first[0]).to eq "def"
|
450
450
|
expect(active_experiments.first[1]).to eq alternative
|
451
451
|
end
|
452
|
-
|
452
|
+
|
453
453
|
it 'should show an active test when an experiment is on a later version' do
|
454
454
|
experiment.reset
|
455
455
|
expect(experiment.version).to eq(1)
|
@@ -696,13 +696,13 @@ describe Split::Helper do
|
|
696
696
|
|
697
697
|
describe 'ab_test' do
|
698
698
|
it 'should raise an exception' do
|
699
|
-
expect(lambda { ab_test('link_color', 'blue', 'red') }).to raise_error
|
699
|
+
expect(lambda { ab_test('link_color', 'blue', 'red') }).to raise_error(Errno::ECONNREFUSED)
|
700
700
|
end
|
701
701
|
end
|
702
702
|
|
703
703
|
describe 'finished' do
|
704
704
|
it 'should raise an exception' do
|
705
|
-
expect(lambda { finished('link_color') }).to raise_error
|
705
|
+
expect(lambda { finished('link_color') }).to raise_error(Errno::ECONNREFUSED)
|
706
706
|
end
|
707
707
|
end
|
708
708
|
|
@@ -907,11 +907,11 @@ describe Split::Helper do
|
|
907
907
|
|
908
908
|
it "fails gracefully if config is missing experiment" do
|
909
909
|
Split.configuration.experiments = { :other_experiment => { :foo => "Bar" } }
|
910
|
-
expect(lambda { ab_test :my_experiment }).to raise_error
|
910
|
+
expect(lambda { ab_test :my_experiment }).to raise_error(Split::ExperimentNotFound)
|
911
911
|
end
|
912
912
|
|
913
913
|
it "fails gracefully if config is missing" do
|
914
|
-
expect(lambda { Split.configuration.experiments = nil }).to raise_error
|
914
|
+
expect(lambda { Split.configuration.experiments = nil }).to raise_error(Split::InvalidExperimentsFormatError)
|
915
915
|
end
|
916
916
|
|
917
917
|
it "fails gracefully if config is missing alternatives" do
|
@@ -11,8 +11,7 @@ describe Split::Persistence::RedisAdapter do
|
|
11
11
|
|
12
12
|
context 'default' do
|
13
13
|
it 'should raise error with prompt to set lookup_by' do
|
14
|
-
expect{Split::Persistence::RedisAdapter.new(context)
|
15
|
-
}.to raise_error
|
14
|
+
expect{Split::Persistence::RedisAdapter.new(context)}.to raise_error(RuntimeError)
|
16
15
|
end
|
17
16
|
end
|
18
17
|
|
data/spec/persistence_spec.rb
CHANGED
@@ -18,7 +18,7 @@ describe Split::Persistence do
|
|
18
18
|
|
19
19
|
it "should raise if the adapter cannot be found" do
|
20
20
|
expect(Split.configuration).to receive(:persistence).twice.and_return(:something_weird)
|
21
|
-
expect { subject.adapter }.to raise_error
|
21
|
+
expect { subject.adapter }.to raise_error(Split::InvalidPersistenceAdapterError)
|
22
22
|
end
|
23
23
|
end
|
24
24
|
context "when the persistence config is a class" do
|
data/split.gemspec
CHANGED
@@ -25,9 +25,9 @@ Gem::Specification.new do |s|
|
|
25
25
|
s.add_dependency 'sinatra', '>= 1.2.6'
|
26
26
|
s.add_dependency 'simple-random'
|
27
27
|
|
28
|
-
s.add_development_dependency 'bundler', '~> 1.
|
29
|
-
s.add_development_dependency 'coveralls'
|
30
|
-
s.add_development_dependency 'rack-test'
|
31
|
-
s.add_development_dependency 'rake'
|
32
|
-
s.add_development_dependency 'rspec', '~> 3.
|
28
|
+
s.add_development_dependency 'bundler', '~> 1.10'
|
29
|
+
s.add_development_dependency 'coveralls', '~> 0.8'
|
30
|
+
s.add_development_dependency 'rack-test', '~> 0.6'
|
31
|
+
s.add_development_dependency 'rake', '~> 10.4'
|
32
|
+
s.add_development_dependency 'rspec', '~> 3.4'
|
33
33
|
end
|
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: 1.3.
|
4
|
+
version: 1.3.1
|
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: 2016-01-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redis
|
@@ -72,70 +72,70 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '1.
|
75
|
+
version: '1.10'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '1.
|
82
|
+
version: '1.10'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: coveralls
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
89
|
+
version: '0.8'
|
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: '0'
|
96
|
+
version: '0.8'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rack-test
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - "
|
101
|
+
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
103
|
+
version: '0.6'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - "
|
108
|
+
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
110
|
+
version: '0.6'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: rake
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - "
|
115
|
+
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
117
|
+
version: '10.4'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - "
|
122
|
+
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
124
|
+
version: '10.4'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: rspec
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: 3.
|
131
|
+
version: '3.4'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
136
|
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: 3.
|
138
|
+
version: '3.4'
|
139
139
|
description:
|
140
140
|
email:
|
141
141
|
- andrewnez@gmail.com
|
@@ -152,8 +152,6 @@ files:
|
|
152
152
|
- LICENSE
|
153
153
|
- README.md
|
154
154
|
- Rakefile
|
155
|
-
- gemfiles/3.2.gemfile
|
156
|
-
- gemfiles/4.0.gemfile
|
157
155
|
- gemfiles/4.1.gemfile
|
158
156
|
- gemfiles/4.2.gemfile
|
159
157
|
- lib/split.rb
|
@@ -229,7 +227,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
229
227
|
version: '0'
|
230
228
|
requirements: []
|
231
229
|
rubyforge_project: split
|
232
|
-
rubygems_version: 2.
|
230
|
+
rubygems_version: 2.5.1
|
233
231
|
signing_key:
|
234
232
|
specification_version: 4
|
235
233
|
summary: Rack based split testing framework
|
@@ -252,4 +250,3 @@ test_files:
|
|
252
250
|
- spec/spec_helper.rb
|
253
251
|
- spec/support/cookies_mock.rb
|
254
252
|
- spec/trial_spec.rb
|
255
|
-
has_rdoc:
|
data/gemfiles/3.2.gemfile
DELETED