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 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