detour 0.0.13 → 0.0.14

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: e523669f071b4f7fafbedabf9f38352bb33cc014
4
- data.tar.gz: d8a1cdbcec53f6c854db8626e47bab1037dcdbcf
3
+ metadata.gz: 56b427edb8fe39d2b124dde7956617717f7a31d2
4
+ data.tar.gz: 1de6769e6f69d524232fa2a2f6d60e9c0214ed9b
5
5
  SHA512:
6
- metadata.gz: fa7e64b13cbee206eef6b6f458ffb8a3e8dd9552e8ad157c77a81a68bb8715cfc974c393baadd01610c6d4eb49add4852e0fd2e39c9716c8e24e66445d931a44
7
- data.tar.gz: bafb4b8f3fe1105dc4f71d7ba3a1093933bf273f7c0e921ed426ef4c86e596958ed311dd17e5a16eab15d1e5010be6c8729d96f4a51ce984232756e520552ea5
6
+ metadata.gz: 8dac7e6ee1f0d717b735530382354b080eba36cbcae8b6d66191a6d6e6f6bf468a8ce2a105670db292cea968b027627fecd2c1dc35cecd88b1dc8463238360f3
7
+ data.tar.gz: dcff87181b0126f6c6276b4a01549f8af074ff8064fd69b09ca16065722dbc0f093c8c52f8f41b50e648f0cb4b62f5267eae6029c442246d9df908a05bb90ab2
@@ -4,11 +4,11 @@ module Detour::Flaggable
4
4
  # Returns an array of all features rolled out to the given record.
5
5
  #
6
6
  # @example
7
- # user.features
7
+ # user.detour_features
8
8
  #
9
9
  # @return [Array] An array of {Detour::Feature}s.
10
- def features
11
- @features ||= begin
10
+ def detour_features
11
+ @detour_features ||= begin
12
12
  features = unfiltered_features
13
13
  defined_group_flags = Detour::DefinedGroupFlag.without_opt_outs(self).where("feature_id IN (?)", features.map(&:id) << -1) # Prevents NOT IN (NULL)
14
14
 
@@ -37,11 +37,7 @@ module Detour::Flaggable
37
37
  # @param [Proc] &block A block to be called if the user is flagged in to the
38
38
  # feature.
39
39
  def has_feature?(feature_name, &block)
40
- features.map(&:name).include? feature_name.to_s
41
- end
42
-
43
- def detour_features
44
- @detour_features ||= []
40
+ detour_features.map(&:name).include? feature_name.to_s
45
41
  end
46
42
 
47
43
  private
@@ -1,3 +1,3 @@
1
1
  module Detour
2
- VERSION = "0.0.13"
2
+ VERSION = "0.0.14"
3
3
  end
@@ -13,7 +13,7 @@ describe "group rollouts" do
13
13
  end
14
14
 
15
15
  it "sets the feature on the user" do
16
- user.features.should include feature
16
+ user.detour_features.should include feature
17
17
  end
18
18
  end
19
19
  end
@@ -7,7 +7,7 @@ describe "percentage rollouts" do
7
7
 
8
8
  describe "creating a percentage rollout" do
9
9
  it "makes the feature available to the given percentage of instances" do
10
- users.select { |user| user.features.include?(feature) }.length.should eq users.length / 5
10
+ users.select { |user| user.detour_features.include?(feature) }.length.should eq users.length / 5
11
11
  end
12
12
  end
13
13
  end
@@ -3,7 +3,7 @@ require "spec_helper"
3
3
  describe Detour::Flaggable do
4
4
  subject { create :user }
5
5
 
6
- describe "#features" do
6
+ describe "#detour_features" do
7
7
  let(:feature1) { create :feature }
8
8
  let(:feature2) { create :feature }
9
9
  let(:feature3) { create :feature }
@@ -25,13 +25,13 @@ describe Detour::Flaggable do
25
25
  end
26
26
 
27
27
  it "finds every feature for a record" do
28
- subject.features.sort.should eq [feature1, feature2, feature3, feature5].sort
28
+ subject.detour_features.sort.should eq [feature1, feature2, feature3, feature5].sort
29
29
  end
30
30
 
31
31
  it "is memoized" do
32
- subject.features
32
+ subject.detour_features
33
33
  Detour::Feature.stub(:joins) { raise "I was called" }
34
- subject.features
34
+ subject.detour_features
35
35
  end
36
36
  end
37
37
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: detour
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.13
4
+ version: 0.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Clem