Class: MetaCL::Logic::ResourceManager
- Inherits:
-
Object
- Object
- MetaCL::Logic::ResourceManager
- Defined in:
- lib/metacl/logic/resource_manager.rb
Instance Method Summary collapse
- #[](arg) ⇒ Object
-
#add_array(name, length, type = nil) ⇒ Object
name check.
- #add_expression(name, root_node, args = []) ⇒ Object
- #add_matrix(name, size_n, size_m, type = nil) ⇒ Object
-
#add_numeric(name, type = nil) ⇒ Object
name check.
- #arrays ⇒ Object
- #expressions ⇒ Object
- #expressions_hash ⇒ Object
-
#initialize ⇒ ResourceManager
constructor
A new instance of ResourceManager.
- #matrices ⇒ Object
- #matrices_hash ⇒ Object
- #numerics ⇒ Object
Constructor Details
#initialize ⇒ ResourceManager
Returns a new instance of ResourceManager.
4 5 6 |
# File 'lib/metacl/logic/resource_manager.rb', line 4 def initialize @namespace = {} end |
Instance Method Details
#[](arg) ⇒ Object
48 49 50 |
# File 'lib/metacl/logic/resource_manager.rb', line 48 def [](arg) @namespace[arg] end |
#add_array(name, length, type = nil) ⇒ Object
name check
12 13 14 |
# File 'lib/metacl/logic/resource_manager.rb', line 12 def add_array(name, length, type = nil) # name check @namespace[name] = OpenStruct.new(name: name, klass: :array, type: type, length: length) end |
#add_expression(name, root_node, args = []) ⇒ Object
20 21 22 |
# File 'lib/metacl/logic/resource_manager.rb', line 20 def add_expression(name, root_node, args = []) @namespace[name] = OpenStruct.new(name: name, klass: :expression, args: args, root_node: root_node) end |
#add_matrix(name, size_n, size_m, type = nil) ⇒ Object
16 17 18 |
# File 'lib/metacl/logic/resource_manager.rb', line 16 def add_matrix(name, size_n, size_m, type = nil) @namespace[name] = OpenStruct.new(name: name, klass: :matrix, type: type, size_n: size_n, size_m: size_m) end |
#add_numeric(name, type = nil) ⇒ Object
name check
8 9 10 |
# File 'lib/metacl/logic/resource_manager.rb', line 8 def add_numeric(name, type = nil) # name check @namespace[name] = OpenStruct.new(name: name, klass: :numeric, type: type) end |
#arrays ⇒ Object
28 29 30 |
# File 'lib/metacl/logic/resource_manager.rb', line 28 def arrays @namespace.values.select { |e| e.klass == :array } end |
#expressions ⇒ Object
36 37 38 |
# File 'lib/metacl/logic/resource_manager.rb', line 36 def expressions @namespace.values.select { |e| e.klass == :expression } end |
#expressions_hash ⇒ Object
40 41 42 |
# File 'lib/metacl/logic/resource_manager.rb', line 40 def expressions_hash Hash[expressions.map { |e| [e.name, e] }] end |
#matrices ⇒ Object
32 33 34 |
# File 'lib/metacl/logic/resource_manager.rb', line 32 def matrices @namespace.values.select { |e| e.klass == :matrix } end |
#matrices_hash ⇒ Object
44 45 46 |
# File 'lib/metacl/logic/resource_manager.rb', line 44 def matrices_hash Hash[matrices.map { |e| [e.name, e] }] end |
#numerics ⇒ Object
24 25 26 |
# File 'lib/metacl/logic/resource_manager.rb', line 24 def numerics @namespace.values.select { |e| e.klass == :numeric } end |