class Roby::Coordination::Models::FaultHandler::ReplaceBy
Script
element that implements the replacement part of {#replace_by}
Attributes
replacement_task[R]
Public Class Methods
new(replacement_task)
click to toggle source
# File lib/roby/coordination/models/fault_handler.rb, line 70 def initialize(replacement_task) @replacement_task = replacement_task end
Public Instance Methods
execute(fault_handler)
click to toggle source
# File lib/roby/coordination/models/fault_handler.rb, line 78 def execute(fault_handler) response_task = fault_handler.root_task plan = response_task.plan replacement_task = self.replacement_task.resolve response_task.each_parent_object(Roby::TaskStructure::ErrorHandling) do |repaired_task| repaired_task_parents = repaired_task.each_parent_task.map do |parent_task| [parent_task, parent_task[repaired_task, Roby::TaskStructure::Dependency]] end plan.replace(repaired_task, replacement_task) repaired_task_parents.each do |parent_t, dependency_options| parent_t.add_child repaired_task, dependency_options end end true end
new(fault_handler)
click to toggle source
# File lib/roby/coordination/models/fault_handler.rb, line 74 def new(fault_handler) ReplaceBy.new(fault_handler.instance_for(replacement_task)) end
to_s()
click to toggle source
# File lib/roby/coordination/models/fault_handler.rb, line 95 def to_s; "start(#{task}, #{dependency_options})" end