Class: Daemon::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/onapp/engine/configuration.rb

Class Method Summary (collapse)

Instance Method Summary (collapse)

Constructor Details

- (Configuration) initialize

Returns a new instance of Configuration



47
48
49
# File 'lib/onapp/engine/configuration.rb', line 47

def initialize
  @options = self.class.defaults.dup
end

Class Method Details

+ (Object) option(name, default = nil)

Declare an option

Examples:

# Declare an option with default value
option :a, proc { 'default' }

# Pay attention, Proc's are unfolded
a # => 'default'
self.a = proc { 'unfolded' }
a # => 'unfolded'

# Usual values can be set too
self.a = 'value'
a # => 'value'


28
29
30
31
32
33
34
35
# File 'lib/onapp/engine/configuration.rb', line 28

def option(name, default = nil)
  name = name.to_sym

  self.defaults[name] = default

  define_method(:#{name}=") { |value| set_option(name, value) }
  define_method(name) { get_option(name) }
end