Sha256: 47bdb18eb539d34c3518f6b858919611552bf69877db6c314025bbd4c13ccf5f

Contents?: true

Size: 550 Bytes

Versions: 2

Compression:

Stored size: 550 Bytes

Contents

module Makers
  class Definitions

    def contains?(name)
      registry.has_key? name
    end

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

    def add(names, *args)
      maker = Maker.new(*args)
      names.each do |name|
        if contains?(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.0 lib/makers/definitions.rb
makers-0.2.0 lib/makers/definitions.rb