Sha256: f63a0005cd39a4ba755af0ffd3689b6a9f9e0ab9413ded5510cde3ac55ed09be
Contents?: true
Size: 1.05 KB
Versions: 14
Compression:
Stored size: 1.05 KB
Contents
# frozen_string_literal: true require 'avromatic/model/types/abstract_type' module Avromatic module Model module Types class FloatType < AbstractType VALUE_CLASSES = [::Float].freeze INPUT_CLASSES = [::Float, ::Integer].freeze def value_classes VALUE_CLASSES end def input_classes INPUT_CLASSES end def name 'float' end def coerce(input) if input.nil? || input.is_a?(::Float) input elsif input.is_a?(::Integer) input.to_f else raise ArgumentError.new("Could not coerce '#{input.inspect}' to #{name}") end end def coercible?(input) input.nil? || input.is_a?(::Float) || input.is_a?(::Integer) end def coerced?(input) input.nil? || input.is_a?(::Float) end 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