Sha256: c3e0cbef28fb3b7ec1e120078e5869f171f671bf475f619ebce8caa42163ebb1
Contents?: true
Size: 755 Bytes
Versions: 2
Compression:
Stored size: 755 Bytes
Contents
module Avro module Builder module Types # This module provides common functionality for non-primitive types # that do not require a name to be created. module ComplexType def self.included(base) base.extend ClassMethods end # Override initialize so that type name is not required def initialize(cache:, field: nil) super(self.class.type_name, cache: cache, field: field) end def namespace field.namespace end module ClassMethods # Infer type_name based on class def type_name @type_name ||= name.split('::').last.sub('Type', '').downcase.to_sym end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
avro-builder-0.6.0 | lib/avro/builder/types/complex_type.rb |
avro-builder-0.5.0 | lib/avro/builder/types/complex_type.rb |