class Parqueteur::Types::StructType

Public Instance Methods

arrow_type_builder() click to toggle source
# File lib/parqueteur/types/struct_type.rb, line 24
def arrow_type_builder
  Arrow::StructDataType.new(struct_object.to_arrow_type)
end
build_value_array(values) click to toggle source
# File lib/parqueteur/types/struct_type.rb, line 11
def build_value_array(values)
  values.each do |value|
    next if value.nil?

    value.each_key do |key|
      next if struct_object.key?(key)

      raise Parqueteur::Error, "Struct field '#{key}' not found"
    end
  end
  Arrow::StructArrayBuilder.build(arrow_type, values)
end

Private Instance Methods

struct_object() click to toggle source
# File lib/parqueteur/types/struct_type.rb, line 30
def struct_object
  @struct_object ||= Parqueteur::Struct.new(&@block)
end