split 1.3.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9fa1bd87e254e6e0bc2f244f3fd6e479d40e096f
4
- data.tar.gz: c50789065bf80c9b850bdc0851d1b6dbcd330183
3
+ metadata.gz: c3be3075da830ca06ace5ff9a940376dd572ba01
4
+ data.tar.gz: 817bc46b6d8a5042523e347fcf4b6607edefe16f
5
5
  SHA512:
6
- metadata.gz: d1ce3cc70e83f014d69136754658030b310aaff9450d6ad8750011202d071f44a0157c824e79a0a4dd7938e2534090949e6f138c913c799caec02ba01b2b277c
7
- data.tar.gz: db2e2a14bdd4bfb3e8620c211e74cf649dbfe9c67a0555e1304f79ab2e8c9da707c5798816d90887c4f2d1f7ab2ad87d99157d00125801eb29afb8026033983b
6
+ metadata.gz: ca0a492e129fcf2a823950c47d5db418a56ba3841680cb9057958570bf1444d619c12bb095b46d2e816056bc94b058ad79e2dc6358f3514e24b63d011013fe7a
7
+ data.tar.gz: 5207f26da88b7eaf4a47ad73c340b238de9dc7ee1874d684501bf4ee9190cbc8333f7ea37070ca6734d97569c7733ed0a3d88b7d81665b7c8220563a20b0dcd9
@@ -1,13 +1,14 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.2.0
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.10"
2
+ gem "rails", "~> 4.1"
11
3
  end
12
4
 
13
5
  appraise "4.2" do
14
- gem "rails", "~> 4.2.1"
6
+ gem "rails", "~> 4.2"
15
7
  end
@@ -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
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2015 Andrew Nesbitt
3
+ Copyright (c) 2016 Andrew Nesbitt
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining
6
6
  a copy of this software and associated documentation files (the
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', {'Old' => 9}, 'New')
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) 2015 Andrew Nesbitt. See [LICENSE](https://github.com/splitrb/split/blob/master/LICENSE) for details.
701
+ Copyright (c) 2016 Andrew Nesbitt. See [LICENSE](https://github.com/splitrb/split/blob/master/LICENSE) for details.
@@ -3,6 +3,6 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "appraisal"
6
- gem "rails", "~> 4.1.10"
6
+ gem "rails", "~> 4.1"
7
7
 
8
8
  gemspec :path => "../"
@@ -3,6 +3,6 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "appraisal"
6
- gem "rails", "~> 4.2.1"
6
+ gem "rails", "~> 4.2"
7
7
 
8
8
  gemspec :path => "../"
@@ -29,32 +29,32 @@ module Split
29
29
  erb :index
30
30
  end
31
31
 
32
- post '/:experiment' do
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/:experiment' do
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/:experiment' do
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/:experiment' do
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 '/:experiment' do
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/#{experiment.name}" %>" method='post' onclick="return confirmReopen()">
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/#{experiment.name}" %>" method='post' onclick="return confirmReset()">
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/#{experiment.name}" %>" method='post'>
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 "/#{experiment.name}" %>" method='post' onclick="return confirmDelete()">
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>
@@ -400,11 +400,12 @@ module Split
400
400
  end
401
401
 
402
402
  def jstring(goal = nil)
403
- unless goal.nil?
404
- jstring = name + "-" + goal
405
- else
406
- jstring = name
407
- end
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
@@ -1,6 +1,6 @@
1
1
  module Split
2
2
  MAJOR = 1
3
3
  MINOR = 3
4
- PATCH = 0
4
+ PATCH = 1
5
5
  VERSION = [MAJOR, MINOR, PATCH].join('.')
6
6
  end
@@ -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
@@ -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/#{experiment.name}"
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/#{experiment.name}"
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/#{experiment.name}"
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/#{experiment.name}"
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/#{experiment.name}"
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/#{experiment.name}"
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 "/#{experiment.name}"
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 "/#{experiment.name}", :alternative => 'red'
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
@@ -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
 
@@ -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
 
@@ -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
@@ -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.7'
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.1.0'
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.0
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: 2015-10-20 00:00:00.000000000 Z
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.7'
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.7'
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: '0'
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: '0'
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.1.0
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.1.0
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.4.8
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:
@@ -1,8 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "appraisal"
6
- gem "rails", "~> 3.2.21"
7
-
8
- gemspec :path => "../"
@@ -1,8 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "appraisal"
6
- gem "rails", "~> 4.0.13"
7
-
8
- gemspec :path => "../"