Class: Roby::Coordination::Models::Capture::CaptureEvaluationContext

Inherits:
Object
  • Object
show all
Defined in:
lib/roby/coordination/models/capture.rb

Instance Method Summary collapse

Constructor Details

#initialize(state_machine) ⇒ CaptureEvaluationContext

Returns a new instance of CaptureEvaluationContext.



32
33
34
# File 'lib/roby/coordination/models/capture.rb', line 32

def initialize(state_machine)
    @state_machine = state_machine
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(m, *args) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/roby/coordination/models/capture.rb', line 40

def method_missing(m, *args)
    if @state_machine.arguments.has_key?(m)
        if args.empty?
            return @state_machine.arguments[m]
        else
            raise ArgumentError, "expected zero argument to #{m}, got #{args.size}"
        end
    elsif @state_machine.model.has_argument?(m)
        raise ArgumentError, "#{m} is not set"
    end
    super
end

Instance Method Details

#respond_to_missing?(m, include_private) ⇒ Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/roby/coordination/models/capture.rb', line 36

def respond_to_missing?(m, include_private)
    @state_machine.model.has_argument?(m) || super
end