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