Class: Stackify::ScheduleTask
Instance Attribute Summary collapse
-
#action ⇒ Object
readonly
Returns the value of attribute action.
-
#attempts ⇒ Object
readonly
Returns the value of attribute attempts.
-
#limit ⇒ Object
readonly
Returns the value of attribute limit.
Instance Method Summary collapse
- #execute! ⇒ Object
-
#initialize(properties = {}, &action) ⇒ ScheduleTask
constructor
A new instance of ScheduleTask.
- #success?(result_of_task_execution) ⇒ Boolean
Constructor Details
#initialize(properties = {}, &action) ⇒ ScheduleTask
Returns a new instance of ScheduleTask.
6 7 8 9 10 11 |
# File 'lib/stackify/schedule_task.rb', line 6 def initialize properties={}, &action @limit = properties[:limit] || nil @attempts = properties[:attempts] || 3 @success_condition = properties[:success_condition] || lambda{ |_result| true } @action = action end |
Instance Attribute Details
#action ⇒ Object (readonly)
Returns the value of attribute action.
4 5 6 |
# File 'lib/stackify/schedule_task.rb', line 4 def action @action end |
#attempts ⇒ Object (readonly)
Returns the value of attribute attempts.
4 5 6 |
# File 'lib/stackify/schedule_task.rb', line 4 def attempts @attempts end |
#limit ⇒ Object (readonly)
Returns the value of attribute limit.
4 5 6 |
# File 'lib/stackify/schedule_task.rb', line 4 def limit @limit end |
Instance Method Details
#execute! ⇒ Object
13 14 15 |
# File 'lib/stackify/schedule_task.rb', line 13 def execute! @action.call end |
#success?(result_of_task_execution) ⇒ Boolean
17 18 19 |
# File 'lib/stackify/schedule_task.rb', line 17 def success? result_of_task_execution @success_condition.call result_of_task_execution end |