Class: Liebre::Engine::Repository

Inherits:
Object
  • Object
show all
Defined in:
lib/liebre/engine/repository.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeRepository

Returns a new instance of Repository.



5
6
7
8
9
10
# File 'lib/liebre/engine/repository.rb', line 5

def initialize
  @publishers  = {}
  @consumers   = {}
  @rpc_clients = {}
  @rpc_servers = {}
end

Instance Attribute Details

#consumersObject (readonly)

Returns the value of attribute consumers.



52
53
54
# File 'lib/liebre/engine/repository.rb', line 52

def consumers
  @consumers
end

#publishersObject (readonly)

Returns the value of attribute publishers.



52
53
54
# File 'lib/liebre/engine/repository.rb', line 52

def publishers
  @publishers
end

#rpc_clientsObject (readonly)

Returns the value of attribute rpc_clients.



52
53
54
# File 'lib/liebre/engine/repository.rb', line 52

def rpc_clients
  @rpc_clients
end

#rpc_serversObject (readonly)

Returns the value of attribute rpc_servers.



52
53
54
# File 'lib/liebre/engine/repository.rb', line 52

def rpc_servers
  @rpc_servers
end

Instance Method Details

#allObject



21
22
23
# File 'lib/liebre/engine/repository.rb', line 21

def all
  publishers.values + consumers.values + rpc_clients.values + rpc_servers.values
end

#clearObject



29
30
31
32
33
34
# File 'lib/liebre/engine/repository.rb', line 29

def clear
  publishers.clear
  consumers.clear
  rpc_clients.clear
  rpc_servers.clear
end

#consumer(name) ⇒ Object



40
41
42
# File 'lib/liebre/engine/repository.rb', line 40

def consumer name
  consumers.fetch(name)
end

#each(&block) ⇒ Object



25
26
27
# File 'lib/liebre/engine/repository.rb', line 25

def each &block
  all.each(&block)
end

#insert(type, name, resource) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/liebre/engine/repository.rb', line 12

def insert type, name, resource
  case type
    when :publishers  then publishers[name]  = resource
    when :consumers   then consumers[name]   = resource
    when :rpc_clients then rpc_clients[name] = resource
    when :rpc_servers then rpc_servers[name] = resource
  end
end

#publisher(name) ⇒ Object



36
37
38
# File 'lib/liebre/engine/repository.rb', line 36

def publisher name
  publishers.fetch(name)
end

#rpc_client(name) ⇒ Object



44
45
46
# File 'lib/liebre/engine/repository.rb', line 44

def rpc_client name
  rpc_clients.fetch(name)
end

#rpc_server(name) ⇒ Object



48
49
50
# File 'lib/liebre/engine/repository.rb', line 48

def rpc_server name
  rpc_servers.fetch(name)
end