Sha256: a977c3992c344c46a03658a6648f60f73e547b5e91f97b6198b4cec06d63f4c1
Contents?: true
Size: 756 Bytes
Versions: 3
Compression:
Stored size: 756 Bytes
Contents
# frozen_string_literal: true module Attribool::Validators ## # Ensures that a value is a boolean, unless strictness isn't enforced. class StrictBooleanValidator ## # Construct the validator. # # @param [Object] value # # @param [Boolean] strict def initialize(value, strict) @value = value @strict = strict end ## # Is +strict+ set to +false+, or is +@value+ a boolean? # # @return [Boolean] def valid? !@strict || [TrueClass, FalseClass].include?(@value.class) end ## # The exception to raise if validations fail. # # @return [ArgumentError] the exception with message def error ArgumentError.new("#{@value} is not a boolean") end end end
Version data entries
3 entries across 3 versions & 1 rubygems