Module: HyperMesh::Configuration

Included in:
HyperMesh
Defined in:
lib/synchromesh/configuration.rb

Overview

configuration utility

Instance Method Summary collapse

Instance Method Details

#config_initializedObject



29
30
# File 'lib/synchromesh/configuration.rb', line 29

def config_initialized
end

#config_resetObject



25
26
27
# File 'lib/synchromesh/configuration.rb', line 25

def config_reset
  raise "must implement"
end

#configuration {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:



5
6
7
8
9
# File 'lib/synchromesh/configuration.rb', line 5

def configuration
  config_reset
  yield self
  config_initialized
end

#define_setting(name, default = nil, &block) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/synchromesh/configuration.rb', line 11

def define_setting(name, default = nil, &block)
  class_variable_set("@@#{name}", default)

  define_class_method "#{name}=" do |value|
    class_variable_set("@@#{name}", value)
    block.call value if block
    value
  end

  define_class_method name do
    class_variable_get("@@#{name}")
  end
end