Class: Foobara::CommandConnectors::ShCliConnector::InputsParser

Inherits:
Object
  • Object
show all
Defined in:
foobara-sh-cli-connector-0.0.16/src/sh_cli_connector/inputs_parser.rb,
foobara-sh-cli-connector-0.0.16/src/sh_cli_connector/inputs_parser/option.rb,
foobara-sh-cli-connector-0.0.16/src/sh_cli_connector/inputs_parser/option_set.rb,
foobara-sh-cli-connector-0.0.16/src/sh_cli_connector/inputs_parser/option/flag.rb,
foobara-sh-cli-connector-0.0.16/src/sh_cli_connector/inputs_parser/option/model.rb,
foobara-sh-cli-connector-0.0.16/src/sh_cli_connector/inputs_parser/option/on_flag.rb,
foobara-sh-cli-connector-0.0.16/src/sh_cli_connector/inputs_parser/option/off_flag.rb,
foobara-sh-cli-connector-0.0.16/src/sh_cli_connector/inputs_parser/option/attributes.rb

Defined Under Namespace

Classes: Option, OptionSet, Result

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(inputs_type, always_prefix_inputs:) ⇒ InputsParser

Returns a new instance of InputsParser.



23
24
25
26
27
28
29
# File 'foobara-sh-cli-connector-0.0.16/src/sh_cli_connector/inputs_parser.rb', line 23

def initialize(inputs_type, always_prefix_inputs:)
  self.inputs_type = inputs_type
  self.always_prefix_inputs = always_prefix_inputs
  self.parser = OptionParser.new

  setup_parser
end

Instance Attribute Details

#always_prefix_inputsObject

Returns the value of attribute always_prefix_inputs.



21
22
23
# File 'foobara-sh-cli-connector-0.0.16/src/sh_cli_connector/inputs_parser.rb', line 21

def always_prefix_inputs
  @always_prefix_inputs
end

#current_arrayObject

Returns the value of attribute current_array.



21
22
23
# File 'foobara-sh-cli-connector-0.0.16/src/sh_cli_connector/inputs_parser.rb', line 21

def current_array
  @current_array
end

#inputs_typeObject

Returns the value of attribute inputs_type.



21
22
23
# File 'foobara-sh-cli-connector-0.0.16/src/sh_cli_connector/inputs_parser.rb', line 21

def inputs_type
  @inputs_type
end

#parserObject

Returns the value of attribute parser.



21
22
23
# File 'foobara-sh-cli-connector-0.0.16/src/sh_cli_connector/inputs_parser.rb', line 21

def parser
  @parser
end

#resultObject

Returns the value of attribute result.



21
22
23
# File 'foobara-sh-cli-connector-0.0.16/src/sh_cli_connector/inputs_parser.rb', line 21

def result
  @result
end

Instance Method Details

#parse(argv) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'foobara-sh-cli-connector-0.0.16/src/sh_cli_connector/inputs_parser.rb', line 31

def parse(argv)
  self.result = Result.new
  self.current_array = nil

  result.remainder = parser.order(argv) do |nonopt|
    if current_array
      current_array << nonopt
    else
      parser.terminate(nonopt)
    end
  end

  result.validate!

  result
end