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 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 => "../"