Sha256: 332982f871d59fe147903c3235f78a8e6c6f9a3a5b6c3dfc18d4b3075e0eba72

Contents?: true

Size: 707 Bytes

Versions: 3

Compression:

Stored size: 707 Bytes

Contents

module Avro
  module Builder
    module Types
      class ArrayType < Type
        include Avro::Builder::Types::ComplexType
        include Avro::Builder::Types::ConfigurableType
        include Avro::Builder::Types::TypeReferencer

        dsl_attribute :items do |items_type = nil|
          if items_type
            @items = create_builtin_or_lookup_named_type(items_type)
          else
            @items
          end
        end

        def validate!
          validate_required_attribute!(:items)
        end

        def serialize(referenced_state)
          {
            type: type_name,
            items: items.serialize(referenced_state)
          }
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
avro-builder-0.6.0 lib/avro/builder/types/array_type.rb
avro-builder-0.5.0 lib/avro/builder/types/array_type.rb
avro-builder-0.4.0 lib/avro/builder/types/array_type.rb