Sha256: 06d820cdb2561eefd5c65fa8961ebadef31fdc91f4db16b64c807e4af05a9747

Contents?: true

Size: 520 Bytes

Versions: 1

Compression:

Stored size: 520 Bytes

Contents

module Vedeu
  EntityNotFound = Class.new(StandardError)

  module API
    def use(name)
      Vedeu::Interface.new(Store.query(name))
    end

    module Store
      extend self

      def create(attributes)
        storage.store(attributes[:name], attributes)
      end

      def query(name)
        storage.fetch(name) { fail EntityNotFound, 'Interface was not found.' }
      end

      def reset
        @storage = {}
      end

      private

      def storage
        @storage ||= {}
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vedeu-0.1.10 lib/vedeu/api/store.rb