module Origen::Location::Map

Public Instance Methods

method_missing(method, *args, &block) click to toggle source
Calls superclass method
# File lib/origen/location/map.rb, line 65
def method_missing(method, *args, &block)
  klass = self.class
  klass.constructed[method] || begin
    definition = klass.definitions[method]
    if definition
      defaults = klass.default_attributes[definition[:x]] || {}
      constructor = klass.constructors[definition[:x]] || klass.constructors[:default]
      if constructor
        instance = constructor.call(definition[:attributes], defaults)
      else
        instance = klass.default_constructor(definition[:attributes], defaults)
      end
      klass.constructed[method] = instance
    end
  end || super
end