Sha256: 0dbda93cef7c0d8f10daa6202006803b60aef3c02c5b059397fa74e07727bbd4

Contents?: true

Size: 503 Bytes

Versions: 15

Compression:

Stored size: 503 Bytes

Contents

# frozen_string_literal: true

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

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

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

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

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
opt_parse_validator-1.10.1 lib/opt_parse_validator/opts/boolean.rb
opt_parse_validator-1.10.0 lib/opt_parse_validator/opts/boolean.rb
opt_parse_validator-1.9.5 lib/opt_parse_validator/opts/boolean.rb
opt_parse_validator-1.9.4 lib/opt_parse_validator/opts/boolean.rb
opt_parse_validator-1.9.3 lib/opt_parse_validator/opts/boolean.rb
opt_parse_validator-1.9.2 lib/opt_parse_validator/opts/boolean.rb
opt_parse_validator-1.9.1 lib/opt_parse_validator/opts/boolean.rb
opt_parse_validator-1.9.0 lib/opt_parse_validator/opts/boolean.rb
opt_parse_validator-1.8.2 lib/opt_parse_validator/opts/boolean.rb
opt_parse_validator-1.8.1 lib/opt_parse_validator/opts/boolean.rb
opt_parse_validator-1.8.0 lib/opt_parse_validator/opts/boolean.rb
opt_parse_validator-1.7.4 lib/opt_parse_validator/opts/boolean.rb
opt_parse_validator-1.7.3 lib/opt_parse_validator/opts/boolean.rb
opt_parse_validator-1.7.2 lib/opt_parse_validator/opts/boolean.rb
opt_parse_validator-0.0.17.1 lib/opt_parse_validator/opts/boolean.rb