class Kafo::DataTypes::Boolean
Public Class Methods
new(*permitted)
click to toggle source
# File lib/kafo/data_types/boolean.rb, line 4 def initialize(*permitted) @permitted = permitted end
Public Instance Methods
typecast(value)
click to toggle source
# File lib/kafo/data_types/boolean.rb, line 8 def typecast(value) case value when '0', 'false', 'f', 'n', false false when '1', 'true', 't', 'y', true true else value end end
valid?(input, errors = [])
click to toggle source
# File lib/kafo/data_types/boolean.rb, line 19 def valid?(input, errors = []) (input.is_a?(::TrueClass) || input.is_a?(::FalseClass)).tap do |valid| errors << "#{input.inspect} is not a valid boolean" unless valid end unless @permitted.empty? || @permitted.include?(input) errors << "#{input} must be one of #{@permitted.join(', ')}" end return errors.empty? end