class Avromatic::Model::Types::ArrayType
Constants
- VALUE_CLASSES
Attributes
value_type[R]
Public Class Methods
new(value_type:)
click to toggle source
Calls superclass method
# File lib/avromatic/model/types/array_type.rb, line 13 def initialize(value_type:) super() @value_type = value_type end
Public Instance Methods
coerce(input)
click to toggle 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
coerced?(value)
click to toggle source
# File lib/avromatic/model/types/array_type.rb, line 40 def coerced?(value) value.nil? || (value.is_a?(::Array) && value.all? { |element| value_type.coerced?(element) }) end
coercible?(input)
click to toggle 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
name()
click to toggle source
# File lib/avromatic/model/types/array_type.rb, line 22 def name "array[#{value_type.name}]" end
referenced_model_classes()
click to toggle source
# File lib/avromatic/model/types/array_type.rb, line 52 def referenced_model_classes value_type.referenced_model_classes end
serialize(value, strict)
click to toggle 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
value_classes()
click to toggle source
# File lib/avromatic/model/types/array_type.rb, line 18 def value_classes VALUE_CLASSES end