Sha256: 92f00a4d90f42e90af47abc185c4d03d5c56d8c711bb91426c73952fc9c9ce2c

Contents?: true

Size: 399 Bytes

Versions: 3

Compression:

Stored size: 399 Bytes

Contents

module Makers
  class Traits

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

    def add(id, block)
      if registry.has_key?(id)
        raise "Trait #{id} already registered"
      else
        registry[id] = block
      end
    end

    private

    def registry
      @registry ||= {}
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
makers-5.1.0 lib/makers/traits.rb
makers-4.0.0.4 lib/makers/traits.rb
makers-4.0.0.3 lib/makers/traits.rb