Class: Roby::Coordination::Child

Inherits:
TaskBase show all
Defined in:
lib/roby/coordination/child.rb

Overview

Representation of the context’s root task

Instance Attribute Summary collapse

Attributes inherited from TaskBase

#execution_context, #model

Instance Method Summary collapse

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

#parentCoordination::Task (readonly)

Returns this child’s parent.

Returns:



8
9
10
# File 'lib/roby/coordination/child.rb', line 8

def parent
  @parent
end

Instance Method Details

#resolveObject



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_taskObject



10
11
12
# File 'lib/roby/coordination/child.rb', line 10

def root_task
    parent
end

#to_sObject



27
28
29
# File 'lib/roby/coordination/child.rb', line 27

def to_s
    "#{parent}.#{model.role}_child[#{model.model}]"
end