Class: Arrow::Decimal128ArrayBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/arrow/decimal128-array-builder.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.build(data_type, values) ⇒ Object



21
22
23
24
# File 'lib/arrow/decimal128-array-builder.rb', line 21

def build(data_type, values)
  builder = new(data_type)
  builder.build(values)
end

Instance Method Details

#append_value(value) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/arrow/decimal128-array-builder.rb', line 28

def append_value(value)
  case value
  when nil
    return append_null
  when String
    value = Decimal128.new(value)
  when Float
    value = Decimal128.new(value.to_s)
  when BigDecimal
    value = value.to_arrow
  end
  append_value_raw(value)
end

#append_value_rawObject



27
# File 'lib/arrow/decimal128-array-builder.rb', line 27

alias_method :append_value_raw, :append_value

#append_values(values, is_valids = nil) ⇒ Object



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/arrow/decimal128-array-builder.rb', line 42

def append_values(values, is_valids=nil)
  if is_valids
    is_valids.each_with_index do |is_valid, i|
      if is_valid
        append_value(values[i])
      else
        append_null
      end
    end
  else
    values.each do |value|
      if value.nil?
        append_null
      else
        append_value(value)
      end
    end
  end
end