Sha256: 9bd08445df7d987c9347bf2e90bf02ff69e590146260c23fd17063f0f7a9e454

Contents?: true

Size: 703 Bytes

Versions: 1

Compression:

Stored size: 703 Bytes

Contents

require 'avro/builder/types/configurable_type'
require 'avro/builder/types/type_referencer'

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

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

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

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
avro-builder-0.1.0 lib/avro/builder/types/array_type.rb