Class: Paddock::Feature

Inherits:
Object
  • Object
show all
Defined in:
lib/paddock.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, envs, disabled) ⇒ Feature

Returns a new instance of Feature.



15
16
17
# File 'lib/paddock.rb', line 15

def initialize(name, envs, disabled)
  @name, @envs, @disabled = name, envs, disabled
end

Class Method Details

.add(name, envs, disabled = false) ⇒ Object



6
7
8
9
# File 'lib/paddock.rb', line 6

def self.add(name, envs, disabled=false)
  @features ||= {}
  @features[name] = new(name, envs, disabled)
end

.get(name) ⇒ Object



11
12
13
# File 'lib/paddock.rb', line 11

def self.get(name)
  (@features ||= {})[name] || raise(Paddock::FeatureNotFound.new("#{name} is not a valid feature."))
end

Instance Method Details

#enabled?Boolean

Returns:

  • (Boolean)


19
20
21
22
23
# File 'lib/paddock.rb', line 19

def enabled?
  result = true if @envs == :all
  result ||= Array(@envs).map { |env| env.to_sym }.include?(Paddock.environment.to_sym)
  @disabled ? (!result) : result
end