class MetaCL::Logic::ResourceManager

Public Class Methods

new() click to toggle source
# File lib/metacl/logic/resource_manager.rb, line 4
def initialize
  @namespace = {}
end

Public Instance Methods

[](arg) click to toggle source
# File lib/metacl/logic/resource_manager.rb, line 48
def [](arg)
  @namespace[arg]
end
add_array(name, length, type = nil) click to toggle source
# 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 = []) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# 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() click to toggle source
# File lib/metacl/logic/resource_manager.rb, line 28
def arrays
  @namespace.values.select { |e| e.klass == :array }
end
expressions() click to toggle source
# File lib/metacl/logic/resource_manager.rb, line 36
def expressions
  @namespace.values.select { |e| e.klass == :expression }
end
expressions_hash() click to toggle source
# File lib/metacl/logic/resource_manager.rb, line 40
def expressions_hash
  Hash[expressions.map { |e| [e.name, e] }]
end
matrices() click to toggle source
# File lib/metacl/logic/resource_manager.rb, line 32
def matrices
  @namespace.values.select { |e| e.klass == :matrix }
end
matrices_hash() click to toggle source
# File lib/metacl/logic/resource_manager.rb, line 44
def matrices_hash
  Hash[matrices.map { |e| [e.name, e] }]
end
numerics() click to toggle source
# File lib/metacl/logic/resource_manager.rb, line 24
def numerics
  @namespace.values.select { |e| e.klass == :numeric }
end