Class: Roby::Coordination::Child
- Defined in:
- lib/roby/coordination/child.rb
Overview
Representation of the context’s root task
Instance Attribute Summary collapse
-
#parent ⇒ Coordination::Task
readonly
This child’s parent.
Attributes inherited from TaskBase
Instance Method Summary collapse
-
#initialize(execution_context, model) ⇒ Child
constructor
A new instance of Child.
- #resolve ⇒ Object
- #root_task ⇒ Object
- #to_s ⇒ Object
Methods inherited from TaskBase
#find_child, #find_event, #find_through_method_missing, #has_through_method_missing?, #to_coordination_task
Constructor Details
#initialize(execution_context, model) ⇒ Child
Returns a new instance of Child.
14 15 16 17 |
# File 'lib/roby/coordination/child.rb', line 14 def initialize(execution_context, model) super @parent = execution_context.instance_for(model.parent) end |
Instance Attribute Details
#parent ⇒ Coordination::Task (readonly)
Returns this child’s parent.
8 9 10 |
# File 'lib/roby/coordination/child.rb', line 8 def parent @parent end |
Instance Method Details
#resolve ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/roby/coordination/child.rb', line 19 def resolve if result = parent.resolve.find_child_from_role(model.role) result else raise ResolvingUnboundObject, "#{parent.resolve}, resolved from #{parent} has not child named #{model.role}" end end |
#root_task ⇒ Object
10 11 12 |
# File 'lib/roby/coordination/child.rb', line 10 def root_task parent end |
#to_s ⇒ Object
27 28 29 |
# File 'lib/roby/coordination/child.rb', line 27 def to_s "#{parent}.#{model.role}_child[#{model.model}]" end |