Module: OMQ::Backend

Defined in:
lib/omq/backend.rb

Class Method Summary collapse

Class Method Details

.fetch(name) ⇒ Object



19
20
21
# File 'lib/omq/backend.rb', line 19

def fetch(name)
  @engines[name.to_sym]
end

.freeze_for_ractors!Object



29
30
31
32
33
# File 'lib/omq/backend.rb', line 29

def freeze_for_ractors!
  return @engines if @engines.frozen?

  @engines = ::Ractor.make_shareable(@engines)
end

.register(name, engine_class) ⇒ Object



8
9
10
11
12
13
14
15
16
# File 'lib/omq/backend.rb', line 8

def register(name, engine_class)
  key = name.to_sym

  if @engines.frozen?
    @engines = ::Ractor.make_shareable(@engines.merge(key => engine_class))
  else
    @engines[key] = engine_class
  end
end

.registered?(name) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/omq/backend.rb', line 24

def registered?(name)
  @engines.key?(name.to_sym)
end