Module: ActiveCrew::Backends

Defined in:
lib/active_crew/backends.rb,
lib/active_crew/backends/inline_backend.rb,
lib/active_crew/backends/sidekiq_backend.rb

Defined Under Namespace

Classes: InlineBackend, SidekiqBackend

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.defaultObject (readonly)

Returns the value of attribute default.



7
8
9
# File 'lib/active_crew/backends.rb', line 7

def default
  @default
end

Class Method Details

.command(name, invoker, *args) ⇒ Object



26
27
28
29
# File 'lib/active_crew/backends.rb', line 26

def command(name, invoker, *args)
  command = create_command name, invoker, *args
  command.execute if command && command.can_execute?
end

.createObject



9
10
11
12
13
# File 'lib/active_crew/backends.rb', line 9

def create
  @default = "ActiveCrew::Backends::#{backend.to_s.classify}Backend".constantize
rescue NameError
  raise ArgumentError, "Unsupported backend #{backend} for active command."
end

.dequeue(name, invoker, *args) ⇒ Object



19
20
21
22
23
24
# File 'lib/active_crew/backends.rb', line 19

def dequeue(name, invoker, *args)
  invoker = deserialize invoker
  return if invoker.blank?

  command name, invoker, *args
end

.enqueue(name, invoker, *args) ⇒ Object



15
16
17
# File 'lib/active_crew/backends.rb', line 15

def enqueue(name, invoker, *args)
  default.enqueue name, serialize(invoker), *args
end