Sha256: d753af18000f4881e0f57bac97351e4c15d4ebcb39f6de1f0d978b1b6883f8c4
Contents?: true
Size: 874 Bytes
Versions: 14
Compression:
Stored size: 874 Bytes
Contents
# frozen_string_literal: true require 'avromatic/model/types/abstract_type' module Avromatic module Model module Types class BooleanType < AbstractType VALUE_CLASSES = [::TrueClass, ::FalseClass].freeze def value_classes VALUE_CLASSES end def name 'boolean' end def coerce(input) if coercible?(input) input else raise ArgumentError.new("Could not coerce '#{input.inspect}' to #{name}") end end def coercible?(input) input.nil? || input.is_a?(::TrueClass) || input.is_a?(::FalseClass) end alias_method :coerced?, :coercible? def serialize(value, _strict) value end def referenced_model_classes EMPTY_ARRAY end end end end end
Version data entries
14 entries across 14 versions & 1 rubygems