class Avromatic::Model::Types::DecimalType
Constants
- INPUT_CLASSES
- VALUE_CLASSES
Attributes
precision[R]
scale[R]
Public Class Methods
new(precision:, scale: 0)
click to toggle source
Calls superclass method
# File lib/avromatic/model/types/decimal_type.rb, line 16 def initialize(precision:, scale: 0) super() @precision = precision @scale = scale end
Public Instance Methods
coerce(input)
click to toggle source
# File lib/avromatic/model/types/decimal_type.rb, line 34 def coerce(input) case input when ::NilClass, ::BigDecimal input when ::Float, ::Integer input.to_d else raise ArgumentError.new("Could not coerce '#{input.inspect}' to #{name}") end end
coerced?(value)
click to toggle source
# File lib/avromatic/model/types/decimal_type.rb, line 49 def coerced?(value) value.nil? || value_classes.any? { |value_class| value.is_a?(value_class) } end
coercible?(input)
click to toggle source
# File lib/avromatic/model/types/decimal_type.rb, line 45 def coercible?(input) input.nil? || input_classes.any? { |input_class| input.is_a?(input_class) } end
input_classes()
click to toggle source
# File lib/avromatic/model/types/decimal_type.rb, line 26 def input_classes INPUT_CLASSES end
name()
click to toggle source
# File lib/avromatic/model/types/decimal_type.rb, line 30 def name "decimal(#{precision}, #{scale})" end
referenced_model_classes()
click to toggle source
# File lib/avromatic/model/types/decimal_type.rb, line 57 def referenced_model_classes EMPTY_ARRAY end
serialize(value, _strict)
click to toggle source
# File lib/avromatic/model/types/decimal_type.rb, line 53 def serialize(value, _strict) value end
value_classes()
click to toggle source
# File lib/avromatic/model/types/decimal_type.rb, line 22 def value_classes VALUE_CLASSES end