module Jet::Core::InstanceRegistry
Public Class Methods
extended(base)
click to toggle source
Calls superclass method
# File lib/jet/core/instance_registry.rb, line 6 def self.extended(base) super base.instance_variable_set(:@registry, {}) end
Public Instance Methods
[](obj)
click to toggle source
# File lib/jet/core/instance_registry.rb, line 11 def [](obj) @registry[obj] end
[]=(key, obj)
click to toggle source
# File lib/jet/core/instance_registry.rb, line 15 def []=(key, obj) raise "no `type` for registry has been set yet" unless @type @registry[Jet.type_check!("`key`", key, Symbol)] = Jet.type_check!("`obj`", obj, @type) end
fetch(*args)
click to toggle source
# File lib/jet/core/instance_registry.rb, line 20 def fetch(*args) @registry.fetch(*args) end
freeze()
click to toggle source
Calls superclass method
# File lib/jet/core/instance_registry.rb, line 24 def freeze @registry.freeze super end
register(hash)
click to toggle source
# File lib/jet/core/instance_registry.rb, line 29 def register(hash) hash.each { |key, obj| self[key] = obj } self end
to_h()
click to toggle source
# File lib/jet/core/instance_registry.rb, line 34 def to_h @registry.dup end
type(type = nil)
click to toggle source
# File lib/jet/core/instance_registry.rb, line 38 def type(type = nil) return @type unless type raise "`type` cannot be changed once set" if @type Jet.type_check!("`type`", type, Class, Module) @type = type end