class Parqueteur::Types::Decimal256Type

Public Class Methods

new(options = {}, &block) click to toggle source
Calls superclass method Parqueteur::Type::new
# File lib/parqueteur/types/decimal256_type.rb, line 6
def initialize(options = {}, &block)
  @scale = options.fetch(:scale)
  @precision = options.fetch(:precision)
  @format_str = "%.#{@scale}f"
  super(options, &block)
end

Public Instance Methods

arrow_type_builder() click to toggle source
# File lib/parqueteur/types/decimal256_type.rb, line 22
def arrow_type_builder
  Arrow::Decimal256DataType.new(
    @precision, @scale
  )
end
build_value_array(values) click to toggle source
# File lib/parqueteur/types/decimal256_type.rb, line 13
def build_value_array(values)
  Arrow::Decimal256ArrayBuilder.build(
    @arrow_type,
    values.map do |value|
      Arrow::Decimal256.new(format(@format_str, BigDecimal(value)))
    end
  )
end