Sha256: 1c27ed9f7005e398c7163fee0fcce906b93d4af1a8648073cdb19faf0535ae36
Contents?: true
Size: 659 Bytes
Versions: 12
Compression:
Stored size: 659 Bytes
Contents
# frozen_string_literal: true class BooleanValidator < BaseValidator CHECKS = { all: nil, false_only: %w[0 f false n no off], true_only: %w[1 t true y yes on] }.freeze def validate_each(record, attribute, value) assert_valid_check! super end private def assert_valid_check! assert_valid_option!(:check, CHECKS.keys) end def check options[:check] || :all end def error_message [options[:message] || I18n.t("errors.messages.boolean.#{check}")] end def valid_attr? checks = CHECKS[check] || [].concat(CHECKS[:false_only], CHECKS[:true_only]) checks.include?(value.to_s.downcase) end end
Version data entries
12 entries across 12 versions & 1 rubygems