Module: Avromatic::Model::NestedModels::ClassMethods
- Defined in:
- lib/avromatic/model/nested_models.rb
Instance Method Summary collapse
- #referenced_model_classes ⇒ Object
-
#register! ⇒ Object
Register this model if it can be used as a nested model.
Instance Method Details
#referenced_model_classes ⇒ Object
27 28 29 |
# File 'lib/avromatic/model/nested_models.rb', line 27 def referenced_model_classes attribute_definitions.values.flat_map { |definition| definition.type.referenced_model_classes }.freeze end |
#register! ⇒ Object
Register this model if it can be used as a nested model.
14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/avromatic/model/nested_models.rb', line 14 def register! return unless key_avro_schema.nil? && value_avro_schema.type_sym == :record roots = [self] until roots.empty? model = roots.shift next if nested_models.registered?(model) nested_models.register(model) roots.concat(model.referenced_model_classes) end end |