class Avromatic::Model::Types::ArrayType
Constants
- VALUE_CLASSES
Attributes
Public Class Methods
Source
# File lib/avromatic/model/types/array_type.rb, line 13 def initialize(value_type:) super() @value_type = value_type end
Calls superclass method
Public Instance Methods
Source
# File lib/avromatic/model/types/array_type.rb, line 26 def coerce(input) if input.nil? input elsif input.is_a?(::Array) input.map { |element_input| value_type.coerce(element_input) } else raise ArgumentError.new("Could not coerce '#{input.inspect}' to #{name}") end end
Source
# File lib/avromatic/model/types/array_type.rb, line 40 def coerced?(value) value.nil? || (value.is_a?(::Array) && value.all? { |element_input| value_type.coerced?(element_input) }) end
Source
# File lib/avromatic/model/types/array_type.rb, line 36 def coercible?(input) input.nil? || (input.is_a?(::Array) && input.all? { |element_input| value_type.coercible?(element_input) }) end
Source
# File lib/avromatic/model/types/array_type.rb, line 22 def name "array[#{value_type.name}]" end
Source
# File lib/avromatic/model/types/array_type.rb, line 52 def referenced_model_classes value_type.referenced_model_classes end
Source
# File lib/avromatic/model/types/array_type.rb, line 44 def serialize(value, strict) if value.nil? value else value.map { |element| value_type.serialize(element, strict) } end end
Source
# File lib/avromatic/model/types/array_type.rb, line 18 def value_classes VALUE_CLASSES end