Class: Avromatic::Model::Types::IntegerType

Inherits:
AbstractType show all
Defined in:
lib/avromatic/model/types/integer_type.rb

Constant Summary collapse

VALUE_CLASSES =
[::Integer].freeze

Instance Method Summary collapse

Methods inherited from AbstractType

#input_classes

Instance Method Details

#coerce(input) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/avromatic/model/types/integer_type.rb', line 19

def coerce(input)
  if input.nil? || input.is_a?(::Integer)
    input
  else
    raise ArgumentError.new("Could not coerce '#{input.inspect}' to #{name}")
  end
end

#coercible?(input) ⇒ Boolean Also known as: coerced?

Returns:

  • (Boolean)


27
28
29
# File 'lib/avromatic/model/types/integer_type.rb', line 27

def coercible?(input)
  input.nil? || input.is_a?(::Integer)
end

#nameObject



15
16
17
# File 'lib/avromatic/model/types/integer_type.rb', line 15

def name
  'integer'
end

#referenced_model_classesObject



37
38
39
# File 'lib/avromatic/model/types/integer_type.rb', line 37

def referenced_model_classes
  EMPTY_ARRAY
end

#serialize(value) ⇒ Object



33
34
35
# File 'lib/avromatic/model/types/integer_type.rb', line 33

def serialize(value, **)
  value
end

#value_classesObject



11
12
13
# File 'lib/avromatic/model/types/integer_type.rb', line 11

def value_classes
  VALUE_CLASSES
end