Sha256: 7536414077b3c9e863442bafaaa49bcc949a1430f285ecc69e3262ad3a86ecdd

Contents?: true

Size: 475 Bytes

Versions: 24

Compression:

Stored size: 475 Bytes

Contents

module Dragonfly
  class Register

    # Exceptions
    class NotFound < RuntimeError; end

    def initialize
      @items = {}
    end

    attr_reader :items

    def add(name, item=nil, &block)
      items[name.to_sym] = item || block || raise(ArgumentError, "you must give either an argument or a block")
    end

    def get(name)
      items[name.to_sym] || raise(NotFound, "#{name.inspect} not registered")
    end

    def names
      items.keys
    end

  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
dragonfly-1.4.1 lib/dragonfly/register.rb
dragonfly-1.4.0 lib/dragonfly/register.rb
dragonfly-1.3.0 lib/dragonfly/register.rb
dragonfly-1.2.1 lib/dragonfly/register.rb
dragonfly-1.2.0 lib/dragonfly/register.rb
dragonfly-1.1.5 lib/dragonfly/register.rb
dragonfly-1.1.4 lib/dragonfly/register.rb
dragonfly-1.1.3 lib/dragonfly/register.rb
dragonfly-1.1.2 lib/dragonfly/register.rb
dragonfly-1.1.1 lib/dragonfly/register.rb
dragonfly-1.1.0 lib/dragonfly/register.rb
dragonfly-1.0.12 lib/dragonfly/register.rb
dragonfly-1.0.11 lib/dragonfly/register.rb
dragonfly-1.0.10 lib/dragonfly/register.rb
dragonfly-1.0.9 lib/dragonfly/register.rb
dragonfly-1.0.8 lib/dragonfly/register.rb
dragonfly-1.0.7 lib/dragonfly/register.rb
dragonfly-1.0.6 lib/dragonfly/register.rb
dragonfly-1.0.5 lib/dragonfly/register.rb
dragonfly-1.0.4 lib/dragonfly/register.rb