Class: Isono::NodeModules::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/isono/node_modules/base.rb

Defined Under Namespace

Modules: ClassMethods

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(node) ⇒ Base

Returns a new instance of Base.

Raises:

  • (ArgumentError)


9
10
11
12
13
14
15
16
# File 'lib/isono/node_modules/base.rb', line 9

def initialize(node)
  raise ArgumentError unless node.is_a?(Node)
  @node = node
  
  raise "Module initializer_hook is not run yet" if self.value_object.nil?
  value_object.copy_instance_variables(self)
  after_initialize
end

Instance Attribute Details

#nodeObject (readonly)

Returns the value of attribute node.



7
8
9
# File 'lib/isono/node_modules/base.rb', line 7

def node
  @node
end

Instance Method Details

#config_sectionObject

shortcut method to lookup configuration section only which belongs to this class.



29
30
31
# File 'lib/isono/node_modules/base.rb', line 29

def config_section
  node.manifest.config.send(self.class.instance_variable_get(:@config_section_name))
end

#manifestObject

Delegate methods used in subclass frequently.



19
20
21
# File 'lib/isono/node_modules/base.rb', line 19

def manifest
  node.manifest
end

#value_objectObject



23
24
25
# File 'lib/isono/node_modules/base.rb', line 23

def value_object
  node.value_objects[self.class]
end