Sha256: 2f95e334d8fdedd7e12ba34fdd255a14bb10fb950a54f0edc9c7dcb6aa6f8d5e
Contents?: true
Size: 925 Bytes
Versions: 54
Compression:
Stored size: 925 Bytes
Contents
module Krikri ## # Provide a registry of defined items that can be looked up by a token # symbol. # # Expected to be extended as needed within other modules. # @see Krikri::Harvester::Registry # @see Krikri::Mapper::Registry # class Registry include Singleton include Enumerable attr_reader :items delegate :each, :[], :[]=, to: :items def initialize @items = {} end class << self def get(name) raise "#{name} is not registered." unless registered? name instance[name] end def register(name, item) raise "#{name} is already registered." if registered? name register!(name, item) end def register!(name, item) instance[name] = item end def registered?(name) instance.items.keys.include? name end def keys instance.items.keys end end end end
Version data entries
54 entries across 54 versions & 1 rubygems