class Flag::Feature

Attributes

active[RW]
name[R]

Public Class Methods

new(name) click to toggle source
# File lib/flag.rb, line 82
def initialize(name)
  @name = name
  @members = Members.new(name)
end

Public Instance Methods

activated() click to toggle source
# File lib/flag.rb, line 95
def activated
  @members.activated
end
key() click to toggle source
# File lib/flag.rb, line 91
def key
  @members.key
end
off!() click to toggle source
# File lib/flag.rb, line 115
def off!
  @members << "0%"
end
off?() click to toggle source
# File lib/flag.rb, line 99
def off?
  !active?
end
on!(what = "100%") click to toggle source
# File lib/flag.rb, line 119
def on!(what = "100%")
  @members << what
end
on?(what = false) click to toggle source
# File lib/flag.rb, line 103
def on?(what = false)
  return active? if !what
  return true    if @members.include?(what)

  case what
  when Integer, Fixnum, String
    @members.groups.any? { |g| Flag.group[g].call(what) }
  else
    false
  end
end
reset() click to toggle source
# File lib/flag.rb, line 87
def reset
  @members.reset
end

Private Instance Methods

active?() click to toggle source
# File lib/flag.rb, line 125
def active?
  @members.percentage == 100
end