eeny-meeny 2.2.1 → 2.2.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/CHANGELOG.md +10 -0
- data/eeny-meeny.gemspec +2 -2
- data/lib/eeny-meeny/models/experiment.rb +2 -0
- data/lib/eeny-meeny/version.rb +1 -1
- data/spec/eeny-meeny/models/experiment_spec.rb +12 -0
- data/spec/fixtures/empty_experiments.yml +0 -0
- data/spec/spec_helper.rb +5 -0
- metadata +14 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b63f2223b23e189cdf963583f0666227ec3a6410
|
|
4
|
+
data.tar.gz: c2e23b8389b07ed951ed3506b3b3f6a6e88bdf1b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 51f9a32c834a0b723e76ac840a9deca30deb98bb49bb41f671977f631d4dbddb5a094b0b6a35b16445b6886af629ce4413ed6f776b00e1ba410e02f048585f73
|
|
7
|
+
data.tar.gz: 79b2ed878d4a24c3a736b311a942d9386b5266eac1a0410ece9d0b76e90e42b6d640bdfadd798e4e9ed4b3b10af1c0c92704c03d6c3638b0550b2866ac50d136
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
### 2.2.2 (2019-04-08)
|
|
2
|
+
|
|
3
|
+
Bugfixes:
|
|
4
|
+
|
|
5
|
+
- Handle scenario where EenyMeeny is configured with an empty experiments file (https://github.com/corthmann/eeny-meeny/issues/9)
|
|
6
|
+
|
|
7
|
+
Other Changes:
|
|
8
|
+
|
|
9
|
+
- Update development dependency "yard" in .gemspec file
|
|
10
|
+
|
|
1
11
|
### 2.2.1 (2018-09-09)
|
|
2
12
|
|
|
3
13
|
Changes:
|
data/eeny-meeny.gemspec
CHANGED
|
@@ -3,7 +3,7 @@ require File.expand_path('../lib/eeny-meeny/version', __FILE__)
|
|
|
3
3
|
Gem::Specification.new do |s|
|
|
4
4
|
s.name = 'eeny-meeny'
|
|
5
5
|
s.version = EenyMeeny::VERSION.dup
|
|
6
|
-
s.date = '
|
|
6
|
+
s.date = '2019-04-08'
|
|
7
7
|
s.summary = "A simple split and smoke testing tool for Rails"
|
|
8
8
|
s.authors = ["Christian Orthmann"]
|
|
9
9
|
s.email = 'christian.orthmann@gmail.com'
|
|
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
|
|
|
17
17
|
s.add_development_dependency('rspec', '~> 3')
|
|
18
18
|
s.add_development_dependency('simplecov', '~> 0')
|
|
19
19
|
s.add_development_dependency('simplecov-rcov', '~> 0')
|
|
20
|
-
s.add_development_dependency('yard', '
|
|
20
|
+
s.add_development_dependency('yard', '>= 0.9.11', '< 1.0.0')
|
|
21
21
|
s.add_development_dependency('rack-test', '~> 0.6.3')
|
|
22
22
|
s.add_runtime_dependency('rack', '>= 1.2.1', '< 3')
|
|
23
23
|
s.add_runtime_dependency('activesupport', '>= 3.0.0', '< 6.0.0')
|
|
@@ -10,12 +10,14 @@ module EenyMeeny
|
|
|
10
10
|
attr_reader :id, :name, :version, :variations, :total_weight, :end_at, :start_at
|
|
11
11
|
|
|
12
12
|
def self.find_all
|
|
13
|
+
return [] unless EenyMeeny.config.experiments
|
|
13
14
|
EenyMeeny.config.experiments.map do |id, experiment|
|
|
14
15
|
new(id, **experiment)
|
|
15
16
|
end
|
|
16
17
|
end
|
|
17
18
|
|
|
18
19
|
def self.find_by_id(experiment_id)
|
|
20
|
+
return unless EenyMeeny.config.experiments
|
|
19
21
|
experiment = EenyMeeny.config.experiments[experiment_id.to_sym]
|
|
20
22
|
new(experiment_id, **experiment) if experiment
|
|
21
23
|
end
|
data/lib/eeny-meeny/version.rb
CHANGED
|
@@ -170,6 +170,12 @@ describe EenyMeeny::Experiment do
|
|
|
170
170
|
expect(described_class.find_all).to eq([])
|
|
171
171
|
end
|
|
172
172
|
end
|
|
173
|
+
|
|
174
|
+
context 'when EenyMeeny is configured with an empty experiments file', empty_experiments: true do
|
|
175
|
+
it 'returns an empty array' do
|
|
176
|
+
expect(described_class.find_all).to eq([])
|
|
177
|
+
end
|
|
178
|
+
end
|
|
173
179
|
end
|
|
174
180
|
|
|
175
181
|
describe '.find_by_id' do
|
|
@@ -192,6 +198,12 @@ describe EenyMeeny::Experiment do
|
|
|
192
198
|
expect(described_class.find_by_id(:experiment_missing)).to be_nil
|
|
193
199
|
end
|
|
194
200
|
end
|
|
201
|
+
|
|
202
|
+
context 'when EenyMeeny is configured with an empty experiments file', empty_experiments: true do
|
|
203
|
+
it 'returns nil' do
|
|
204
|
+
expect(described_class.find_by_id(:experiment_missing)).to be_nil
|
|
205
|
+
end
|
|
206
|
+
end
|
|
195
207
|
end
|
|
196
208
|
|
|
197
209
|
describe '.find_by_cookie_name', experiments: true do
|
|
File without changes
|
data/spec/spec_helper.rb
CHANGED
|
@@ -36,5 +36,10 @@ RSpec.configure do |config|
|
|
|
36
36
|
config.experiments = YAML.load_file(File.join('spec','fixtures','experiments.yml'))
|
|
37
37
|
end
|
|
38
38
|
end
|
|
39
|
+
config.before(:each, empty_experiments: true) do
|
|
40
|
+
EenyMeeny.configure do |config|
|
|
41
|
+
config.experiments = YAML.load_file(File.join('spec','fixtures','empty_experiments.yml'))
|
|
42
|
+
end
|
|
43
|
+
end
|
|
39
44
|
|
|
40
45
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: eeny-meeny
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.2.
|
|
4
|
+
version: 2.2.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Christian Orthmann
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2019-04-08 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rake
|
|
@@ -70,16 +70,22 @@ dependencies:
|
|
|
70
70
|
name: yard
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
72
72
|
requirements:
|
|
73
|
-
- - "
|
|
73
|
+
- - ">="
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version:
|
|
75
|
+
version: 0.9.11
|
|
76
|
+
- - "<"
|
|
77
|
+
- !ruby/object:Gem::Version
|
|
78
|
+
version: 1.0.0
|
|
76
79
|
type: :development
|
|
77
80
|
prerelease: false
|
|
78
81
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
82
|
requirements:
|
|
80
|
-
- - "
|
|
83
|
+
- - ">="
|
|
81
84
|
- !ruby/object:Gem::Version
|
|
82
|
-
version:
|
|
85
|
+
version: 0.9.11
|
|
86
|
+
- - "<"
|
|
87
|
+
- !ruby/object:Gem::Version
|
|
88
|
+
version: 1.0.0
|
|
83
89
|
- !ruby/object:Gem::Dependency
|
|
84
90
|
name: rack-test
|
|
85
91
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -166,6 +172,7 @@ files:
|
|
|
166
172
|
- spec/eeny-meeny/models/variation_spec.rb
|
|
167
173
|
- spec/eeny-meeny/routing/experiment_constraint_spec.rb
|
|
168
174
|
- spec/eeny-meeny/routing/smoke_test_constraint_spec.rb
|
|
175
|
+
- spec/fixtures/empty_experiments.yml
|
|
169
176
|
- spec/fixtures/experiments.yml
|
|
170
177
|
- spec/mock_rack_app.rb
|
|
171
178
|
- spec/spec_helper.rb
|
|
@@ -190,7 +197,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
190
197
|
version: '0'
|
|
191
198
|
requirements: []
|
|
192
199
|
rubyforge_project:
|
|
193
|
-
rubygems_version: 2.6.
|
|
200
|
+
rubygems_version: 2.6.14.3
|
|
194
201
|
signing_key:
|
|
195
202
|
specification_version: 4
|
|
196
203
|
summary: A simple split and smoke testing tool for Rails
|