Sha256: adeeaea5935f29f7b02222884141780b9771ad3355ffbf0f1d8db4215f0b8844

Contents?: true

Size: 457 Bytes

Versions: 10

Compression:

Stored size: 457 Bytes

Contents

module OptParseValidator
  # Implementation of the Boolean Option
  class OptBoolean < OptBase
    TRUE_PATTERN  = /\A(true|t|yes|y|1)\z/i
    FALSE_PATTERN = /\A(false|f|no|n|0)\z/i

    # @return [ Boolean ]
    def validate(value)
      value = value.to_s

      return true if value.match(TRUE_PATTERN)
      return false if value.match(FALSE_PATTERN)

      fail Error, 'Invalid boolean value, expected true|t|yes|y|1|false|f|no|n|0'
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
opt_parse_validator-0.0.13.11 lib/opt_parse_validator/opts/boolean.rb
opt_parse_validator-0.0.13.10 lib/opt_parse_validator/opts/boolean.rb
opt_parse_validator-0.0.13.9 lib/opt_parse_validator/opts/boolean.rb
opt_parse_validator-0.0.13.8 lib/opt_parse_validator/opts/boolean.rb
opt_parse_validator-0.0.13.7 lib/opt_parse_validator/opts/boolean.rb
opt_parse_validator-0.0.13.6 lib/opt_parse_validator/opts/boolean.rb
opt_parse_validator-0.0.13.5 lib/opt_parse_validator/opts/boolean.rb
opt_parse_validator-0.0.13.4 lib/opt_parse_validator/opts/boolean.rb
opt_parse_validator-0.0.13.3 lib/opt_parse_validator/opts/boolean.rb
opt_parse_validator-0.0.13.2 lib/opt_parse_validator/opts/boolean.rb