Class: Syskit::InstanceRequirements::CoordinationTask

Inherits:
Roby::Coordination::Models::TaskWithDependencies
  • Object
show all
Defined in:
lib/syskit/instance_requirements.rb

Instance Method Summary collapse

Constructor Details

#initialize(requirements) ⇒ CoordinationTask

Returns a new instance of CoordinationTask



1146
1147
1148
1149
# File 'lib/syskit/instance_requirements.rb', line 1146

def initialize(requirements)
    super(requirements.placeholder_model)
    @requirements = requirements
end

Instance Method Details

#instanciate(plan, variables = Hash.new) ⇒ Object

Called by the state machine implementation to create a Roby::Task instance that will perform the state's actions



1153
1154
1155
1156
1157
1158
1159
1160
1161
# File 'lib/syskit/instance_requirements.rb', line 1153

def instanciate(plan, variables = Hash.new)
    arguments = @requirements.arguments.map_value do |key, value|
        if value.respond_to?(:evaluate)
            value.evaluate(variables)
        else value
        end
    end
    @requirements.as_plan(**arguments)
end