Sha256: 6b3953343a416d35995274430430a69de16631e43464782ea18f0ef35b2eb9c4

Contents?: true

Size: 651 Bytes

Versions: 3

Compression:

Stored size: 651 Bytes

Contents

# encoding: utf-8

module Adhearsion
  module Rayo
    class Client
      class ComponentRegistry
        def initialize
          @mutex = Mutex.new
          @components = Hash.new
        end

        def <<(component)
          @mutex.synchronize do
            @components[component.source_uri] = component
          end
        end

        def find_by_uri(uri)
          @mutex.synchronize do
            @components[uri]
          end
        end

        def delete(component)
          @mutex.synchronize do
            uri = @components.key component
            @components.delete uri
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
adhearsion-3.0.0.rc1 lib/adhearsion/rayo/client/component_registry.rb
adhearsion-3.0.0.beta2 lib/adhearsion/rayo/client/component_registry.rb
adhearsion-3.0.0.beta1 lib/adhearsion/rayo/client/component_registry.rb