class TermUtils::AP::Result

Represents an argument parsing Result.

Attributes

parameter[R]

@return [Syntax]

remaining_arguments[RW]

@return [Array<String>]

results[R]

@return [Array<ParameterResult>]

Public Class Methods

new(syntax) click to toggle source

Constructs a new Result. @param syntax [Syntax]

# File lib/term_utils/ap/result.rb, line 32
def initialize(syntax)
  @syntax = syntax
  @results = []
  @remaining_arguments = nil
end

Public Instance Methods

add_result(result) click to toggle source

Adds a ParameterResult. @param result [ParameterResult]

# File lib/term_utils/ap/result.rb, line 40
def add_result(result)
  @results << result
end
find_parameter(id) click to toggle source

Returns the first ParameterResult for a given parameter id. @param id [Symbol] @return [ParameterResult]

# File lib/term_utils/ap/result.rb, line 47
def find_parameter(id)
  @results.find { |r| r.param_id == id }
end
find_parameters(id) click to toggle source

Returns all ParameterResult(s) for a given parameter id. @param id [Symbol] @return [Array<ParameterResult>]

# File lib/term_utils/ap/result.rb, line 54
def find_parameters(id)
  @results.find_all { |r| r.param_id == id }
end
walk(&block) click to toggle source

Walks through this one.

# File lib/term_utils/ap/result.rb, line 59
def walk(&block)
  walker = TermUtils::AP::Walker.new
  block.call(walker)
  @results.each do |p|
    p.results.each do |a|
      walker.notify_article(a)
    end
    walker.notify_parameter(p)
  end
  walker.notify_finished(@remaining_arguments)
end