Sha256: 22be03a47e51b739be1a3b5d0b13095aaef1cfa49788f6aee81e57082aaadaf8

Contents?: true

Size: 830 Bytes

Versions: 16

Compression:

Stored size: 830 Bytes

Contents

module OptParseValidator
  # Implementation of the SmartList Option
  # Such option allow users to supply a list like
  # - name1
  # - name1,name2,name3
  # - /tmp/names.txt
  class OptSmartList < OptArray
    # @return [ Void ]
    def append_help_messages
      super
      # removes the help message from OptArray about the separator as useless here
      # can't use option as it's an attr_reader only
      @option -= ["Separator to use between the values: '#{separator}'"]

      option << "Examples: 'a1', '#{%w[a1 a2 a3].join(separator)}', '/tmp/a.txt'"
    end

    # @param [ String ] value
    #
    # @return [ Array<String> ]
    def validate(value)
      # Might be a better way to do this especially with a big file
      File.open(value).map(&:chomp)
    rescue Errno::ENOENT
      super(value)
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
opt_parse_validator-0.0.17.0 lib/opt_parse_validator/opts/smart_list.rb
opt_parse_validator-0.0.16.6 lib/opt_parse_validator/opts/smart_list.rb
opt_parse_validator-0.0.16.5 lib/opt_parse_validator/opts/smart_list.rb
opt_parse_validator-0.0.16.4 lib/opt_parse_validator/opts/smart_list.rb
opt_parse_validator-0.0.16.3 lib/opt_parse_validator/opts/smart_list.rb
opt_parse_validator-0.0.16.2 lib/opt_parse_validator/opts/smart_list.rb
opt_parse_validator-0.0.16.1 lib/opt_parse_validator/opts/smart_list.rb
opt_parse_validator-0.0.16.0 lib/opt_parse_validator/opts/smart_list.rb
opt_parse_validator-0.0.15.2 lib/opt_parse_validator/opts/smart_list.rb
opt_parse_validator-0.0.15.1 lib/opt_parse_validator/opts/smart_list.rb
opt_parse_validator-0.0.15.0 lib/opt_parse_validator/opts/smart_list.rb
opt_parse_validator-0.0.14.1 lib/opt_parse_validator/opts/smart_list.rb
opt_parse_validator-0.0.14.0 lib/opt_parse_validator/opts/smart_list.rb
opt_parse_validator-0.0.13.11 lib/opt_parse_validator/opts/smart_list.rb
opt_parse_validator-0.0.13.10 lib/opt_parse_validator/opts/smart_list.rb
opt_parse_validator-0.0.13.9 lib/opt_parse_validator/opts/smart_list.rb