class Kuroko2::Workflow::Task::TimeBase

Attributes

task_name[R]

Public Class Methods

set_task_name(task_name) click to toggle source
# File lib/autoload/kuroko2/workflow/task/time_base.rb, line 8
def set_task_name(task_name)
  @task_name = task_name
end

Public Instance Methods

execute() click to toggle source
# File lib/autoload/kuroko2/workflow/task/time_base.rb, line 13
def execute
  if option.present?
    validate
    token.context[self.class.task_name] = to_minutes(option)
  end

  :next
end
validate() click to toggle source
# File lib/autoload/kuroko2/workflow/task/time_base.rb, line 22
def validate
  unless /\A\d+(?:h|m)?\z/ === option
    raise Workflow::AssertionError,
      "A value of #{self.class.task_name} should be a number."
  end
end

Private Instance Methods

to_minutes(option) click to toggle source
# File lib/autoload/kuroko2/workflow/task/time_base.rb, line 31
def to_minutes(option)
  case option
  when /\A(\d+)h\z/
    $1.to_i * 60
  when /\A(\d+)m\z/
    $1.to_i
  else
    option.to_i
  end
end