class Avromatic::Model::Types::AbstractType
Constants
- EMPTY_ARRAY
Public Instance Methods
Source
# File lib/avromatic/model/types/abstract_type.rb, line 23 def coerce(_input) raise "#{__method__} must be overridden by #{self.class.name}" end
Source
# File lib/avromatic/model/types/abstract_type.rb, line 31 def coerced?(value) value.nil? || value_classes.any? { |value_class| value.is_a?(value_class) } end
Source
# File lib/avromatic/model/types/abstract_type.rb, line 27 def coercible?(input) input.nil? || input_classes.any? { |input_class| input.is_a?(input_class) } end
Source
# File lib/avromatic/model/types/abstract_type.rb, line 15 def input_classes value_classes end
Source
# File lib/avromatic/model/types/abstract_type.rb, line 19 def name raise "#{__method__} must be overridden by #{self.class.name}" end
Source
# File lib/avromatic/model/types/abstract_type.rb, line 41 def referenced_model_classes raise "#{__method__} must be overridden by #{self.class.name}" end
Source
# File lib/avromatic/model/types/abstract_type.rb, line 37 def serialize(_value, _strict) raise "#{__method__} must be overridden by #{self.class.name}" end
Note we use positional args rather than keyword args to reduce memory allocations
Source
# File lib/avromatic/model/types/abstract_type.rb, line 11 def value_classes raise "#{__method__} must be overridden by #{self.class.name}" end