Class: Attribool::Validators::StrictBooleanValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/attribool/validators/strict_boolean_validator.rb

Overview

Ensures that a value is a boolean, unless strictness isn’t enforced.

Instance Method Summary collapse

Constructor Details

#initialize(value, strict) ⇒ StrictBooleanValidator

Construct the validator.

Parameters:

  • value (Object)
  • strict (Boolean)


13
14
15
16
# File 'lib/attribool/validators/strict_boolean_validator.rb', line 13

def initialize(value, strict)
  @value = value
  @strict = strict
end

Instance Method Details

#errorArgumentError

The exception to raise if validations fail.

Returns:

  • (ArgumentError)

    the exception with message



30
31
32
# File 'lib/attribool/validators/strict_boolean_validator.rb', line 30

def error
  ArgumentError.new("#{@value} is not a boolean")
end

#valid?Boolean

Is strict set to false, or is @value a boolean?

Returns:

  • (Boolean)


22
23
24
# File 'lib/attribool/validators/strict_boolean_validator.rb', line 22

def valid?
  !@strict || [TrueClass, FalseClass].include?(@value.class)
end