eeny-meeny 2.1.0 → 2.1.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 +4 -4
- data/CHANGELOG.md +7 -0
- data/eeny-meeny.gemspec +1 -1
- data/lib/eeny-meeny/experiment_helper.rb +1 -1
- data/lib/eeny-meeny/routing/experiment_constraint.rb +1 -1
- data/lib/eeny-meeny/version.rb +1 -1
- data/spec/eeny-meeny/experiment_helper_spec.rb +23 -0
- data/spec/eeny-meeny/routing/experiment_constraint_spec.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4599a9361b4a7d72a01d42b9b992b3f2578ead2e
|
4
|
+
data.tar.gz: 43fbfdad8d15903e61717a2575da3c18c8063321
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1037418a1485bd6bac1754280ff70230d600e23014b11ca97bf063bada61d548ffda7d4dd98fce93ec6ba8f457a2e2c6cb04d021ee45bab314b68f533b2fb80f
|
7
|
+
data.tar.gz: 281d612ec907b728eab11f6d9621b22962e27715c112d41a0de8262107d7bca6edf2f945d85047bfa740a716c93e25bb5fa6994adf800d276852bb418b6e0448
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
### 2.1.1 (2016-10-06)
|
2
|
+
|
3
|
+
Bugfixes:
|
4
|
+
|
5
|
+
- Fix bug in `participates_in?` helper that prevented it from working when the `variation_id` was sent as a symbol.
|
6
|
+
- Fix bug in `EenyMeeny::ExperimentConstraint` that prevented it from working when the `variation_id` was sent as a symbol.
|
7
|
+
|
1
8
|
### 2.1.0 (2016-10-02)
|
2
9
|
|
3
10
|
Features:
|
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 = '2016-10-
|
6
|
+
s.date = '2016-10-06'
|
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'
|
@@ -7,7 +7,7 @@ module EenyMeeny::ExperimentHelper
|
|
7
7
|
experiment = EenyMeeny::Experiment.find_by_id(experiment_id)
|
8
8
|
return unless !experiment.nil? && experiment.active?
|
9
9
|
participant_variation_id = read_cookie(EenyMeeny::Cookie.cookie_name(experiment))
|
10
|
-
return if variation_id && variation_id != participant_variation_id
|
10
|
+
return if variation_id && variation_id.to_s != participant_variation_id
|
11
11
|
experiment.find_variation(participant_variation_id)
|
12
12
|
end
|
13
13
|
|
@@ -13,7 +13,7 @@ module EenyMeeny
|
|
13
13
|
return false unless !@experiment.nil? && @experiment.active?
|
14
14
|
participant_variation_id = EenyMeeny::Cookie.read(request.cookie_jar[EenyMeeny::Cookie.cookie_name(@experiment)])
|
15
15
|
return false if participant_variation_id.nil? # Not participating in experiment
|
16
|
-
(@variation_id.nil? || @variation_id == participant_variation_id)
|
16
|
+
(@variation_id.nil? || @variation_id.to_s == participant_variation_id)
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
data/lib/eeny-meeny/version.rb
CHANGED
@@ -29,6 +29,29 @@ describe EenyMeeny::ExperimentHelper, experiments: true do
|
|
29
29
|
allow(subject).to receive(:cookies).and_return(request_with_cookie.cookie_jar)
|
30
30
|
expect(subject.participates_in?(:my_page)).to be_a EenyMeeny::Variation
|
31
31
|
end
|
32
|
+
|
33
|
+
context 'and given a variation id' do
|
34
|
+
let(:request_with_variation_cookie) do
|
35
|
+
request.set_cookie(EenyMeeny::Cookie.create_for_experiment_variation(EenyMeeny::Experiment.find_by_id(:my_page), variation_id: :new).to_s)
|
36
|
+
request
|
37
|
+
end
|
38
|
+
|
39
|
+
context 'that matches the variation id the cookie' do
|
40
|
+
it "returns the user's experiment variation" do
|
41
|
+
allow(subject).to receive(:cookies).and_return(request_with_cookie.cookie_jar)
|
42
|
+
expect(subject.participates_in?(:my_page, variation_id: :new)).to be_a EenyMeeny::Variation
|
43
|
+
expect(subject.participates_in?(:my_page, variation_id: 'new')).to be_a EenyMeeny::Variation
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
context 'that does not match the variation id the cookie' do
|
48
|
+
it 'returns nil' do
|
49
|
+
allow(subject).to receive(:cookies).and_return(request_with_cookie.cookie_jar)
|
50
|
+
expect(subject.participates_in?(:my_page, variation_id: :old)).to be_nil
|
51
|
+
expect(subject.participates_in?(:my_page, variation_id: 'old')).to be_nil
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
32
55
|
end
|
33
56
|
|
34
57
|
context 'without an experiment cookie' do
|
@@ -6,7 +6,7 @@ describe EenyMeeny::ExperimentConstraint, experiments: true do
|
|
6
6
|
|
7
7
|
let(:request) do
|
8
8
|
session = Rack::MockSession.new(EenyMeeny::Middleware.new(MockRackApp.new))
|
9
|
-
session.set_cookie('eeny_meeny_my_page_v1=
|
9
|
+
session.set_cookie('eeny_meeny_my_page_v1=ctRsrHCj21pZt%2FELsjedHRT9GkYOuIdoTwEyP9kxfI7dDS4I9g1nv77j9Umij1P44SCU7Zebdb8mqwLabTrskg%3D%3D; path=/; expires=Sun, 06 Nov 2016 11:26:01 -0000; HttpOnly')
|
10
10
|
session
|
11
11
|
end
|
12
12
|
|
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.1.
|
4
|
+
version: 2.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christian Orthmann
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-10-
|
11
|
+
date: 2016-10-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|