Class: Kuroko2::Workflow::Task::TimeBase

Inherits:
Base
  • Object
show all
Defined in:
lib/autoload/kuroko2/workflow/task/time_base.rb

Direct Known Subclasses

ExpectedTime, Timeout

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from Kuroko2::Workflow::Task::Base

Class Attribute Details

.task_nameObject (readonly)

Returns the value of attribute task_name.



6
7
8
# File 'lib/autoload/kuroko2/workflow/task/time_base.rb', line 6

def task_name
  @task_name
end

Class Method Details

.set_task_name(task_name) ⇒ Object



8
9
10
# File 'lib/autoload/kuroko2/workflow/task/time_base.rb', line 8

def set_task_name(task_name)
  @task_name = task_name
end

Instance Method Details

#executeObject



13
14
15
16
17
18
19
20
# 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

#validateObject



22
23
24
25
26
27
# 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