Class: Arrow::ListArrayBuilder
- Inherits:
-
Object
- Object
- Arrow::ListArrayBuilder
- Defined in:
- lib/arrow/list-array-builder.rb
Class Method Summary collapse
Instance Method Summary collapse
- #append(*values) ⇒ Object
- #append_value(*args) ⇒ Object
- #append_value_raw ⇒ Object
- #append_values(lists, is_valids = nil) ⇒ Object
Class Method Details
.build(data_type, values) ⇒ Object
21 22 23 24 |
# File 'lib/arrow/list-array-builder.rb', line 21 def build(data_type, values) builder = new(data_type) builder.build(values) end |
Instance Method Details
#append(*values) ⇒ Object
87 88 89 90 91 92 93 94 |
# File 'lib/arrow/list-array-builder.rb', line 87 def append(*values) if values.empty? # For backward compatibility append_value else super end end |
#append_value ⇒ Object #append_value(list) ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/arrow/list-array-builder.rb', line 45 def append_value(*args) n_args = args.size case n_args when 0 append_value_raw when 1 value = args[0] case value when nil append_null when ::Array append_value_raw @value_builder ||= value_builder @value_builder.append(*value) else = "list value must be nil or Array: #{value.inspect}" raise ArgumentError, end else = "wrong number of arguments (given #{n_args}, expected 0..1)" raise ArgumentError, end end |
#append_value_raw ⇒ Object
27 |
# File 'lib/arrow/list-array-builder.rb', line 27 alias_method :append_value_raw, :append_value |
#append_values(lists, is_valids = nil) ⇒ Object
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/arrow/list-array-builder.rb', line 70 def append_values(lists, is_valids=nil) if is_valids is_valids.each_with_index do |is_valid, i| if is_valid append_value(lists[i]) else append_null end end else lists.each do |list| append_value(list) end end end |