Class: RgGen::Core::InputBase::InputData
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(layer, valid_value_lists, *_args) ⇒ InputData
Returns a new instance of InputData.
9
10
11
12
13
14
15
16
|
# File 'lib/rggen/core/input_base/input_data.rb', line 9
def initialize(layer, valid_value_lists, *_args)
@layer = layer
@valid_value_lists = valid_value_lists
@values = Hash.new(NAValue)
@children = []
define_setter_methods
block_given? && yield(self)
end
|
Instance Attribute Details
Returns the value of attribute children.
40
41
42
|
# File 'lib/rggen/core/input_base/input_data.rb', line 40
def children
@children
end
|
Returns the value of attribute layer.
18
19
20
|
# File 'lib/rggen/core/input_base/input_data.rb', line 18
def layer
@layer
end
|
Instance Method Details
#[](value_name) ⇒ Object
31
32
33
|
# File 'lib/rggen/core/input_base/input_data.rb', line 31
def [](value_name)
@values[value_name]
end
|
#[]=(value_name, position = nil, value) ⇒ Object
27
28
29
|
# File 'lib/rggen/core/input_base/input_data.rb', line 27
def []=(value_name, position = nil, value)
value(value_name, value, position)
end
|
#child(layer, value_list = nil) ⇒ Object
42
43
44
45
46
47
48
|
# File 'lib/rggen/core/input_base/input_data.rb', line 42
def child(layer, value_list = nil, &)
create_child_data(layer) do |child_data|
child_data.build_by_block(&)
child_data.values(value_list)
@children << child_data
end
end
|
#load_file(file) ⇒ Object
50
51
52
|
# File 'lib/rggen/core/input_base/input_data.rb', line 50
def load_file(file)
build_by_block { instance_eval(File.binread(file), file, 1) }
end
|
#value(value_name, value, position = nil) ⇒ Object
20
21
22
23
24
25
|
# File 'lib/rggen/core/input_base/input_data.rb', line 20
def value(value_name, value, position = nil)
symbolized_name = value_name.to_sym
valid_value?(symbolized_name) ||
raise_unknown_field_error(symbolized_name, position)
assign_value(symbolized_name, value, position)
end
|
#values(value_list = nil, position = nil) ⇒ Object
35
36
37
38
|
# File 'lib/rggen/core/input_base/input_data.rb', line 35
def values(value_list = nil, position = nil)
value_list && Hash(value_list).each { |n, v| value(n, v, position) }
@values
end
|