Module: Operationable::Persisters::Database

Defined in:
lib/operationable/persisters/database.rb

Class Method Summary collapse

Class Method Details

.around_call(id, name, block) ⇒ Object



29
30
31
32
33
# File 'lib/operationable/persisters/database.rb', line 29

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

.completed(id, name) ⇒ Object



25
26
27
# File 'lib/operationable/persisters/database.rb', line 25

def completed(id, name)
  update(id, name, Operationable::Persisters::Base::STATUS_COMPLETED)
end

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



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

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

.working(id, name) ⇒ Object



21
22
23
# File 'lib/operationable/persisters/database.rb', line 21

def working(id, name)
  update(id, name, Operationable::Persisters::Base::STATUS_WORKING)
end