eeny-meeny 2.2.1 → 2.2.2

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: a41d2bcdbde35c876dc16bf000f3fbbf6b88db74
4
- data.tar.gz: 9a67ccc58b5c803a442b2ad4eae6bf5d3f943c48
3
+ metadata.gz: b63f2223b23e189cdf963583f0666227ec3a6410
4
+ data.tar.gz: c2e23b8389b07ed951ed3506b3b3f6a6e88bdf1b
5
5
  SHA512:
6
- metadata.gz: d9b72b27bfcafae526af2566c1db0adc0c8cd717825d376cf68738572c385ac37889c9aa57a593b9364c459a5dbe7c72e88ab2644a84f06f0d1b0e10d657c6b3
7
- data.tar.gz: '013679315176da558395a14d3f3dbfa66e975b9b1cc97a319164cf1d62c997c7be93905429f947f88a7c89220afe1efc537d4bbb590278a12b778bce01acfeca'
6
+ metadata.gz: 51f9a32c834a0b723e76ac840a9deca30deb98bb49bb41f671977f631d4dbddb5a094b0b6a35b16445b6886af629ce4413ed6f776b00e1ba410e02f048585f73
7
+ data.tar.gz: 79b2ed878d4a24c3a736b311a942d9386b5266eac1a0410ece9d0b76e90e42b6d640bdfadd798e4e9ed4b3b10af1c0c92704c03d6c3638b0550b2866ac50d136
@@ -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:
@@ -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 = '2018-09-09'
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', '~> 0')
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
@@ -1,3 +1,3 @@
1
1
  module EenyMeeny
2
- VERSION = '2.2.1'
2
+ VERSION = '2.2.2'
3
3
  end
@@ -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
@@ -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.1
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: 2018-09-09 00:00:00.000000000 Z
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: '0'
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: '0'
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.13
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