Sha256: 8a73cca4586f5a61a4b276eb22831c5faba67ef7077f6c349d2d89afaaf9ccc0

Contents?: true

Size: 682 Bytes

Versions: 4

Compression:

Stored size: 682 Bytes

Contents

module ArgsParser
  class Parser

    def parse_style_equal(argv)
      on_validate_error do |err, name, value|
        STDERR.puts "Error: #{err.message} (--#{name}=#{value})"
        exit 1
      end

      is_option = /^-+([^-=\s]+)$/
      is_param = /^-+([^-=\s]+)=([^=\s]+)$/
      argv.each_with_index do |arg, i|
        if arg =~ is_option
          k,v = [arg.scan(is_option)[0][0], true]
        elsif arg =~ is_param
          k,v = arg.scan(is_param)[0]
        else
          self.argv.push arg
        end
        if k and v
          k = k.strip.to_sym
          k = aliases[k] if aliases[k]
          params[k][:value] = v
        end
      end
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
args_parser-0.1.0 lib/args_parser/styles/equal.rb
args_parser-0.0.10 lib/args_parser/styles/equal.rb
args_parser-0.0.9 lib/args_parser/styles/equal.rb
args_parser-0.0.8 lib/args_parser/styles/equal.rb