Skip to content

Commit

Permalink
Add Feature#disabled_groups
Browse files Browse the repository at this point in the history
  • Loading branch information
jnunemaker committed Apr 3, 2015
1 parent 9309a00 commit e63c51d
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 1 deletion.
5 changes: 4 additions & 1 deletion lib/flipper/feature.rb
Expand Up @@ -228,9 +228,12 @@ def gate_values
def groups
groups_value.map { |name| Flipper.group(name) }.to_set
end

alias_method :enabled_groups, :groups

def disabled_groups
Flipper.groups - enabled_groups
end

# Public: Returns the Set of group Symbol names enabled.
def groups_value
gate_values.groups
Expand Down
27 changes: 27 additions & 0 deletions spec/flipper/feature_spec.rb
Expand Up @@ -299,6 +299,33 @@
end
end

describe "#disabled_groups" do
context "when no groups enabled" do
it "returns empty set" do
subject.disabled_groups.should eq(Set.new)
end
end

context "when one or more groups enabled" do
before do
@staff = Flipper.register(:staff) { |thing| true }
@preview_features = Flipper.register(:preview_features) { |thing| true }
@not_enabled = Flipper.register(:not_enabled) { |thing| true }
@disabled = Flipper.register(:disabled) { |thing| true }
subject.enable @staff
subject.enable @preview_features
subject.disable @disabled
end

it "returns set of groups that are not enabled" do
subject.disabled_groups.should eq(Set[
@not_enabled,
@disabled,
])
end
end
end

describe "#groups_value" do
context "when no groups enabled" do
it "returns empty set" do
Expand Down

1 comment on commit e63c51d

@rsanheim
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This name still bugs me, but I can roll with it. 😼

Please sign in to comment.