Class: Operationable::Persister

Inherits:
Object
  • Object
show all
Defined in:
lib/operationable/persister.rb

Direct Known Subclasses

Operation::Persister

Class Method Summary collapse

Class Method Details

.around_call(id, name, block) ⇒ Object



28
29
30
31
32
# File 'lib/operationable/persister.rb', line 28

def around_call(id, name, block)
  working(id, name)
  block.call
  completed(id, name)
end

.completed(id, name) ⇒ Object



24
25
26
# File 'lib/operationable/persister.rb', line 24

def completed(id, name)
  update(id, name, ::Operation::STATUS_COMPLETED)
end

.persist(callbacks, initiator_id, params, name) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/operationable/persister.rb', line 5

def persist(callbacks, initiator_id, params, name)
  ::Operation.create(
    callbacks: callbacks.map { |callback|
      {
        status: ::Operation::STATUS_INIT,
        name: callback[:callback_method_name],
        queue: callback[:queue]
      }
    },
    initiator_id: initiator_id,
    params: params,
    name: name
  )
end

.working(id, name) ⇒ Object



20
21
22
# File 'lib/operationable/persister.rb', line 20

def working(id, name)
  update(id, name, ::Operation::STATUS_WORKING)
end