Class: CLI::Kit::Args::Evaluation::PositionProxy
- Inherits:
-
Object
- Object
- CLI::Kit::Args::Evaluation::PositionProxy
- Defined in:
- lib/cli/kit/args/evaluation.rb
Instance Method Summary collapse
-
#initialize(evaluation) ⇒ PositionProxy
constructor
: (Evaluation evaluation) -> void.
-
#method_missing(sym) ⇒ Object
: (Symbol sym) -> (String | Array)?.
-
#respond_to_missing?(sym, include_private = false) ⇒ Boolean
: (Symbol sym, ?bool include_private) -> bool.
Constructor Details
#initialize(evaluation) ⇒ PositionProxy
: (Evaluation evaluation) -> void
93 94 95 |
# File 'lib/cli/kit/args/evaluation.rb', line 93 def initialize(evaluation) @evaluation = evaluation end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(sym) ⇒ Object
: (Symbol sym) -> (String | Array)?
78 79 80 81 82 83 84 85 |
# File 'lib/cli/kit/args/evaluation.rb', line 78 def method_missing(sym) position = @evaluation.defn.lookup_position(sym) unless position raise NoMethodError, "undefined position `#{sym}' for #{self}" end @evaluation.send(:lookup_position, position) end |
Instance Method Details
#respond_to_missing?(sym, include_private = false) ⇒ Boolean
: (Symbol sym, ?bool include_private) -> bool
88 89 90 |
# File 'lib/cli/kit/args/evaluation.rb', line 88 def respond_to_missing?(sym, include_private = false) !!@evaluation.defn.lookup_position(sym) end |