Sha256: 1ea280d8fda6ccf6351f8c21079dccdf062718a2a9d29e56287f1f0b719ce66f

Contents?: true

Size: 504 Bytes

Versions: 2

Compression:

Stored size: 504 Bytes

Contents

module Makers
  class Definitions

    def find(name)
      if registry.has_key?(name)
        registry[name]
      else
        raise "Definition #{name} not found"
      end
    end

    def add(names, *args)
      maker = Maker.new(*args)
      names.each do |name|
        if registry.has_key?(name)
          raise "Maker #{name} already registered"
        else
          registry[name] = maker
        end
      end
    end

    private

    def registry
      @registry ||= {}
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
makers-4.0.0.2 lib/makers/definitions.rb
makers-4.0.0.1 lib/makers/definitions.rb