class Flor::StagedBasicTasker

A BasicTasker with stages (pre / on / post)

Public Instance Methods

call_detask() click to toggle source
# File lib/flor/unit/taskers.rb, line 149
def call_detask

  call_one_of(:pre_detask, :pre_cancel)
  call_one_of(:on_detask, :on_cancel, :detask, :cancel)
end
call_task() click to toggle source
# File lib/flor/unit/taskers.rb, line 143
def call_task

  call_one_of(:pre_task)
  call_one_of(:on_task, :task)
end

Protected Instance Methods

call_one_of(*ms) click to toggle source
# File lib/flor/unit/taskers.rb, line 157
def call_one_of(*ms)

  m = ms.flatten.find { |mm| respond_to?(mm) }

  send(m) if m
end
reply(message=@message, force=false) click to toggle source
# File lib/flor/unit/taskers.rb, line 164
def reply(message=@message, force=false)

  fail ArgumentError.new(
    "argument to reply must be a Hash but is #{message.class}"
  ) unless message.is_a?(Hash)

  pt = @message['point']

  #ms = [ "post_#{pt}" ]; ms << :post_cancel if pt == 'detask'
  #call_one_of(ms)
    #
    # :post_task is called by, well, the caller
    #
  call_one_of([ :post_detask, :post_cancel ]) if pt == 'detask'

  msg = derive_message(message)

  @ganger.return(msg) if force || @ganger

  [] # very important, return no further messages
end