Class: Parqueteur::Types::MapType

Inherits:
Parqueteur::Type show all
Defined in:
lib/parqueteur/types/map_type.rb

Instance Attribute Summary

Attributes inherited from Parqueteur::Type

#arrow_type, #options

Instance Method Summary collapse

Methods inherited from Parqueteur::Type

#initialize, #resolve

Constructor Details

This class inherits a constructor from Parqueteur::Type

Instance Method Details

#arrow_type_builderObject



10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/parqueteur/types/map_type.rb', line 10

def arrow_type_builder
  map_value = options.fetch(:value)

  Arrow::MapDataType.new(
    resolve(options.fetch(:key)).arrow_type,
    if map_value.is_a?(Hash)
      resolve(map_value.fetch(:type), map_value).arrow_type
    else
      resolve(map_value).arrow_type
    end
  )
end

#build_value_array(values) ⇒ Object



6
7
8
# File 'lib/parqueteur/types/map_type.rb', line 6

def build_value_array(values)
  Arrow::MapArrayBuilder.build(arrow_type, values)
end