Class: Combi::ServiceBus

Inherits:
Object
  • Object
show all
Defined in:
lib/combi/service_bus.rb

Constant Summary collapse

@@buses =
{}

Class Method Summary collapse

Class Method Details

.for(kind, options = {}) ⇒ Object



6
7
8
# File 'lib/combi/service_bus.rb', line 6

def for(kind, options = {})
  @@buses[kind] ||= init_for(kind, options)
end

.init_for(kind, options) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/combi/service_bus.rb', line 10

def init_for(kind, options)
  require 'combi/buses/bus'

  case kind
  when :in_process
    require 'combi/buses/in_process'
    Combi::InProcess.new(options)
  when :queue
    require 'combi/buses/queue'
    Combi::Queue.new(options)
  when :web_socket
    require 'combi/buses/web_socket'
    Combi::WebSocket.new(options)
  when :http
    require 'combi/buses/http'
    Combi::Http.new(options)
  end
end