class ROM::Registry

@api private

Attributes

elements[R]
name[R]

Public Class Methods

new(elements = {}, name = self.class.name) click to toggle source
# File lib/rom/support/registry.rb, line 15
def initialize(elements = {}, name = self.class.name)
  @elements = elements
  @name = name
end

Public Instance Methods

[](key)
Alias for: fetch
each() { |element| ... } click to toggle source
# File lib/rom/support/registry.rb, line 20
def each(&block)
  return to_enum unless block
  elements.each { |element| yield(element) }
end
fetch(key) { || ... } click to toggle source
# File lib/rom/support/registry.rb, line 29
def fetch(key)
  elements.fetch(key.to_sym) do
    return yield if block_given?

    raise ElementNotFoundError.new(key, name)
  end
end
Also aliased as: []
key?(name) click to toggle source
# File lib/rom/support/registry.rb, line 25
def key?(name)
  elements.key?(name.to_sym)
end
respond_to_missing?(name, include_private = false) click to toggle source
Calls superclass method
# File lib/rom/support/registry.rb, line 38
def respond_to_missing?(name, include_private = false)
  elements.key?(name) || super
end

Private Instance Methods

method_missing(name, *) click to toggle source
Calls superclass method
# File lib/rom/support/registry.rb, line 44
def method_missing(name, *)
  elements.fetch(name) { super }
end