Sha256: 9336fc565b2d83b469c5f2cdb3c6da77bb44969639b50a290d4ef132fec2e12c

Contents?: true

Size: 1.53 KB

Versions: 12

Compression:

Stored size: 1.53 KB

Contents

# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

module Arrow
  class RawTableConverter
    attr_reader :n_rows
    attr_reader :schema
    attr_reader :values
    def initialize(raw_table)
      @raw_table = raw_table
      convert
    end

    private
    def convert
      if @raw_table.is_a?(::Array) and @raw_table[0].is_a?(Column)
        fields = @raw_table.collect(&:field)
        @schema = Schema.new(fields)
        @values = @raw_table.collect(&:data)
      else
        fields = []
        @values = []
        @raw_table.each do |name, array|
          array = ArrayBuilder.build(array) if array.is_a?(::Array)
          fields << Field.new(name.to_s, array.value_data_type)
          @values << array
        end
        @schema = Schema.new(fields)
      end
      @n_rows = @values[0].length
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
red-arrow-9.0.0 lib/arrow/raw-table-converter.rb
red-arrow-8.0.0 lib/arrow/raw-table-converter.rb
red-arrow-7.0.0 lib/arrow/raw-table-converter.rb
red-arrow-6.0.1 lib/arrow/raw-table-converter.rb
red-arrow-6.0.0 lib/arrow/raw-table-converter.rb
red-arrow-5.0.0 lib/arrow/raw-table-converter.rb
red-arrow-4.0.1 lib/arrow/raw-table-converter.rb
red-arrow-4.0.0 lib/arrow/raw-table-converter.rb
red-arrow-3.0.0 lib/arrow/raw-table-converter.rb
red-arrow-2.0.0 lib/arrow/raw-table-converter.rb
red-arrow-1.0.1 lib/arrow/raw-table-converter.rb
red-arrow-1.0.0 lib/arrow/raw-table-converter.rb