red-arrow 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/README.md +7 -3
 - data/Rakefile +2 -0
 - data/doc/text/news.md +11 -0
 - data/lib/arrow.rb +0 -4
 - data/lib/arrow/{ipc/file-reader.rb → ipc-file-reader.rb} +0 -0
 - data/lib/arrow/{ipc/stream-reader.rb → ipc-stream-reader.rb} +0 -0
 - data/lib/arrow/loader.rb +14 -0
 - data/lib/arrow/record-batch.rb +21 -4
 - data/lib/arrow/record.rb +9 -4
 - data/lib/arrow/version.rb +1 -1
 - data/red-arrow.gemspec +1 -1
 - data/test/test-record-batch.rb +54 -0
 - metadata +7 -8
 - data/lib/arrow/block-openable-applicable.rb +0 -29
 - data/lib/arrow/io/loader.rb +0 -37
 - data/lib/arrow/ipc/loader.rb +0 -39
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 9557cac923316c8ff79fe9308b97d9a48dfe7a92
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: e8e485563267fefa6219e4890d5de589b79fa186
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 4022b9925abe4269ced64d25f2ac5ac24cb4752b58d924e00a2f818f62c70b8f79e458055c0d34b20f8b0ad8077d1bfeadaf530c04d64c1ebc095d146c344106
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 01517b6e438f619b0f8ad3fe6b7d1fbf76195afed624523de4d42896a87a1eb2fcd0d924202952f4bc6160936cbc69c4cb580e3f609bc99ff940c36809deabf3
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -12,14 +12,18 @@ Red Arrow is a Ruby bindings of Apache Arrow. Red Arrow is based on GObject Intr 
     | 
|
| 
       12 
12 
     | 
    
         | 
| 
       13 
13 
     | 
    
         
             
            [GObject Introspection](https://wiki.gnome.org/action/show/Projects/GObjectIntrospection) is a middleware for language bindings of C library. GObject Introspection can generate language bindings automatically at runtime.
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
     | 
    
         
            -
            Red Arrow uses [ 
     | 
| 
      
 15 
     | 
    
         
            +
            Red Arrow uses [Arrow GLib](https://github.com/apache/arrow/tree/master/c_glib) and [gobject-introspection gem](https://rubygems.org/gems/gobject-introspection) to generate Ruby bindings of Apache Arrow.
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
      
 17 
     | 
    
         
            +
            Arrow GLib is a C wrapper for [Arrow C++](https://github.com/apache/arrow/tree/master/cpp). GObject Introspection can't use Arrow C++ directly. Arrow GLib is a bridge between Arrow C++ and GObject Introspection.
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
       19 
19 
     | 
    
         
             
            gobject-introspection gem is a Ruby bindings of GObject Introspection. Red Arrow uses GObject Introspection via gobject-introspection gem.
         
     | 
| 
       20 
20 
     | 
    
         | 
| 
       21 
21 
     | 
    
         
             
            ## Install
         
     | 
| 
       22 
22 
     | 
    
         | 
| 
      
 23 
     | 
    
         
            +
            Install Arrow GLib before install Red Arrow. Use [Apache Arrow packages](https://github.com/kou/arrow-packages) for installing Arrow GLib.
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
            Install Red Arrow after you install Arrow GLib:
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
       23 
27 
     | 
    
         
             
            ```text
         
     | 
| 
       24 
28 
     | 
    
         
             
            % gem install red-arrow
         
     | 
| 
       25 
29 
     | 
    
         
             
            ```
         
     | 
| 
         @@ -36,7 +40,7 @@ require "arrow" 
     | 
|
| 
       36 
40 
     | 
    
         | 
| 
       37 
41 
     | 
    
         
             
            * [Apache Arrow](https://arrow.apache.org/)
         
     | 
| 
       38 
42 
     | 
    
         | 
| 
       39 
     | 
    
         
            -
            * [ 
     | 
| 
      
 43 
     | 
    
         
            +
            * [Arrow GLib](https://github.com/apache/arrow/tree/master/c_glib)
         
     | 
| 
       40 
44 
     | 
    
         | 
| 
       41 
45 
     | 
    
         
             
            * [gobject-introspection gem](https://rubygems.org/gems/gobject-introspection)
         
     | 
| 
       42 
46 
     | 
    
         | 
    
        data/Rakefile
    CHANGED
    
    
    
        data/doc/text/news.md
    CHANGED
    
    | 
         @@ -1,5 +1,16 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # News
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
      
 3 
     | 
    
         
            +
            ## 0.2.2 - 2017-04-24
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            ### Improvements
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
              * `Arrow::RecordBatch#each`: Supported reusing record object for
         
     | 
| 
      
 8 
     | 
    
         
            +
                performance.
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
              * ``Arrow::IO`: Unified into `Arrow`.
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
              * ``Arrow::IPC`: Unified into `Arrow`.
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
       3 
14 
     | 
    
         
             
            ## 0.2.1 - 2017-03-23
         
     | 
| 
       4 
15 
     | 
    
         | 
| 
       5 
16 
     | 
    
         
             
            ### Improvements
         
     | 
    
        data/lib/arrow.rb
    CHANGED
    
    | 
         @@ -17,14 +17,10 @@ require "gobject-introspection" 
     | 
|
| 
       17 
17 
     | 
    
         
             
            require "arrow/version"
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
       19 
19 
     | 
    
         
             
            require "arrow/loader"
         
     | 
| 
       20 
     | 
    
         
            -
            require "arrow/io/loader"
         
     | 
| 
       21 
     | 
    
         
            -
            require "arrow/ipc/loader"
         
     | 
| 
       22 
20 
     | 
    
         | 
| 
       23 
21 
     | 
    
         
             
            module Arrow
         
     | 
| 
       24 
22 
     | 
    
         
             
              class Error < StandardError
         
     | 
| 
       25 
23 
     | 
    
         
             
              end
         
     | 
| 
       26 
24 
     | 
    
         | 
| 
       27 
25 
     | 
    
         
             
              Loader.load
         
     | 
| 
       28 
     | 
    
         
            -
              IO::Loader.load
         
     | 
| 
       29 
     | 
    
         
            -
              IPC::Loader.load
         
     | 
| 
       30 
26 
     | 
    
         
             
            end
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
    
        data/lib/arrow/loader.rb
    CHANGED
    
    | 
         @@ -12,6 +12,8 @@ 
     | 
|
| 
       12 
12 
     | 
    
         
             
            # See the License for the specific language governing permissions and
         
     | 
| 
       13 
13 
     | 
    
         
             
            # limitations under the License.
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
      
 15 
     | 
    
         
            +
            require "arrow/block-openable"
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
       15 
17 
     | 
    
         
             
            module Arrow
         
     | 
| 
       16 
18 
     | 
    
         
             
              class Loader < GObjectIntrospection::Loader
         
     | 
| 
       17 
19 
     | 
    
         
             
                class << self
         
     | 
| 
         @@ -30,6 +32,18 @@ module Arrow 
     | 
|
| 
       30 
32 
     | 
    
         
             
                  require "arrow/array-builder"
         
     | 
| 
       31 
33 
     | 
    
         
             
                  require "arrow/field"
         
     | 
| 
       32 
34 
     | 
    
         
             
                  require "arrow/record-batch"
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
                  require "arrow/ipc-file-reader"
         
     | 
| 
      
 37 
     | 
    
         
            +
                  require "arrow/ipc-stream-reader"
         
     | 
| 
      
 38 
     | 
    
         
            +
                end
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
                def load_object_info(info)
         
     | 
| 
      
 41 
     | 
    
         
            +
                  super
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
                  klass = @base_module.const_get(rubyish_class_name(info))
         
     | 
| 
      
 44 
     | 
    
         
            +
                  if klass.respond_to?(:open)
         
     | 
| 
      
 45 
     | 
    
         
            +
                    klass.singleton_class.prepend(BlockOpenable)
         
     | 
| 
      
 46 
     | 
    
         
            +
                  end
         
     | 
| 
       33 
47 
     | 
    
         
             
                end
         
     | 
| 
       34 
48 
     | 
    
         | 
| 
       35 
49 
     | 
    
         
             
                def rubyish_method_name(function_info, options={})
         
     | 
    
        data/lib/arrow/record-batch.rb
    CHANGED
    
    | 
         @@ -18,9 +18,21 @@ module Arrow 
     | 
|
| 
       18 
18 
     | 
    
         
             
              class RecordBatch
         
     | 
| 
       19 
19 
     | 
    
         
             
                include Enumerable
         
     | 
| 
       20 
20 
     | 
    
         | 
| 
       21 
     | 
    
         
            -
                def each
         
     | 
| 
       22 
     | 
    
         
            -
                   
     | 
| 
       23 
     | 
    
         
            -
                     
     | 
| 
      
 21 
     | 
    
         
            +
                def each(reuse_record: false)
         
     | 
| 
      
 22 
     | 
    
         
            +
                  unless block_given?
         
     | 
| 
      
 23 
     | 
    
         
            +
                    return to_enum(__method__, reuse_record: reuse_record)
         
     | 
| 
      
 24 
     | 
    
         
            +
                  end
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                  if reuse_record
         
     | 
| 
      
 27 
     | 
    
         
            +
                    record = Record.new(self, nil)
         
     | 
| 
      
 28 
     | 
    
         
            +
                    n_rows.times do |i|
         
     | 
| 
      
 29 
     | 
    
         
            +
                      record.index = i
         
     | 
| 
      
 30 
     | 
    
         
            +
                      yield(record)
         
     | 
| 
      
 31 
     | 
    
         
            +
                    end
         
     | 
| 
      
 32 
     | 
    
         
            +
                  else
         
     | 
| 
      
 33 
     | 
    
         
            +
                    n_rows.times do |i|
         
     | 
| 
      
 34 
     | 
    
         
            +
                      yield(Record.new(self, i))
         
     | 
| 
      
 35 
     | 
    
         
            +
                    end
         
     | 
| 
       24 
36 
     | 
    
         
             
                  end
         
     | 
| 
       25 
37 
     | 
    
         
             
                end
         
     | 
| 
       26 
38 
     | 
    
         | 
| 
         @@ -32,7 +44,12 @@ module Arrow 
     | 
|
| 
       32 
44 
     | 
    
         
             
                  else
         
     | 
| 
       33 
45 
     | 
    
         
             
                    index = name_or_index
         
     | 
| 
       34 
46 
     | 
    
         
             
                  end
         
     | 
| 
       35 
     | 
    
         
            -
                   
     | 
| 
      
 47 
     | 
    
         
            +
                  columns[index]
         
     | 
| 
      
 48 
     | 
    
         
            +
                end
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
                alias_method :columns_raw, :columns
         
     | 
| 
      
 51 
     | 
    
         
            +
                def columns
         
     | 
| 
      
 52 
     | 
    
         
            +
                  @columns ||= columns_raw
         
     | 
| 
       36 
53 
     | 
    
         
             
                end
         
     | 
| 
       37 
54 
     | 
    
         | 
| 
       38 
55 
     | 
    
         
             
                private
         
     | 
    
        data/lib/arrow/record.rb
    CHANGED
    
    | 
         @@ -14,13 +14,18 @@ 
     | 
|
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
            module Arrow
         
     | 
| 
       16 
16 
     | 
    
         
             
              class Record
         
     | 
| 
       17 
     | 
    
         
            -
                 
     | 
| 
      
 17 
     | 
    
         
            +
                attr_accessor :index
         
     | 
| 
      
 18 
     | 
    
         
            +
                def initialize(record_batch, index)
         
     | 
| 
       18 
19 
     | 
    
         
             
                  @record_batch = record_batch
         
     | 
| 
       19 
     | 
    
         
            -
                  @ 
     | 
| 
      
 20 
     | 
    
         
            +
                  @index = index
         
     | 
| 
       20 
21 
     | 
    
         
             
                end
         
     | 
| 
       21 
22 
     | 
    
         | 
| 
       22 
     | 
    
         
            -
                def []( 
     | 
| 
       23 
     | 
    
         
            -
                  @record_batch.find_column( 
     | 
| 
      
 23 
     | 
    
         
            +
                def [](column_name_or_column_index)
         
     | 
| 
      
 24 
     | 
    
         
            +
                  @record_batch.find_column(column_name_or_column_index)[@index]
         
     | 
| 
      
 25 
     | 
    
         
            +
                end
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
                def columns
         
     | 
| 
      
 28 
     | 
    
         
            +
                  @record_batch.columns
         
     | 
| 
       24 
29 
     | 
    
         
             
                end
         
     | 
| 
       25 
30 
     | 
    
         
             
              end
         
     | 
| 
       26 
31 
     | 
    
         
             
            end
         
     | 
    
        data/lib/arrow/version.rb
    CHANGED
    
    
    
        data/red-arrow.gemspec
    CHANGED
    
    | 
         @@ -24,7 +24,7 @@ require "arrow/version" 
     | 
|
| 
       24 
24 
     | 
    
         
             
            Gem::Specification.new do |spec|
         
     | 
| 
       25 
25 
     | 
    
         
             
              spec.name = "red-arrow"
         
     | 
| 
       26 
26 
     | 
    
         
             
              spec.version = Arrow::VERSION
         
     | 
| 
       27 
     | 
    
         
            -
              spec.homepage = "https://github.com/ 
     | 
| 
      
 27 
     | 
    
         
            +
              spec.homepage = "https://github.com/red-data-tools/red-arrow"
         
     | 
| 
       28 
28 
     | 
    
         
             
              spec.authors = ["Kouhei Sutou"]
         
     | 
| 
       29 
29 
     | 
    
         
             
              spec.email = ["kou@clear-code.com"]
         
     | 
| 
       30 
30 
     | 
    
         | 
| 
         @@ -0,0 +1,54 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Copyright 2017 Kouhei Sutou <kou@clear-code.com>
         
     | 
| 
      
 2 
     | 
    
         
            +
            #
         
     | 
| 
      
 3 
     | 
    
         
            +
            # Licensed under the Apache License, Version 2.0 (the "License");
         
     | 
| 
      
 4 
     | 
    
         
            +
            # you may not use this file except in compliance with the License.
         
     | 
| 
      
 5 
     | 
    
         
            +
            # You may obtain a copy of the License at
         
     | 
| 
      
 6 
     | 
    
         
            +
            #
         
     | 
| 
      
 7 
     | 
    
         
            +
            #     http://www.apache.org/licenses/LICENSE-2.0
         
     | 
| 
      
 8 
     | 
    
         
            +
            #
         
     | 
| 
      
 9 
     | 
    
         
            +
            # Unless required by applicable law or agreed to in writing, software
         
     | 
| 
      
 10 
     | 
    
         
            +
            # distributed under the License is distributed on an "AS IS" BASIS,
         
     | 
| 
      
 11 
     | 
    
         
            +
            # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
      
 12 
     | 
    
         
            +
            # See the License for the specific language governing permissions and
         
     | 
| 
      
 13 
     | 
    
         
            +
            # limitations under the License.
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            class RecordBatchTest < Test::Unit::TestCase
         
     | 
| 
      
 16 
     | 
    
         
            +
              sub_test_case(".each") do
         
     | 
| 
      
 17 
     | 
    
         
            +
                setup do
         
     | 
| 
      
 18 
     | 
    
         
            +
                  fields = [
         
     | 
| 
      
 19 
     | 
    
         
            +
                    Arrow::Field.new("count", :uint32),
         
     | 
| 
      
 20 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 21 
     | 
    
         
            +
                  @schema = Arrow::Schema.new(fields)
         
     | 
| 
      
 22 
     | 
    
         
            +
                  @counts = Arrow::UInt32Array.new([1, 2, 4, 8])
         
     | 
| 
      
 23 
     | 
    
         
            +
                  @record_batch = Arrow::RecordBatch.new(@schema, @counts.length, [@counts])
         
     | 
| 
      
 24 
     | 
    
         
            +
                end
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                test("default") do
         
     | 
| 
      
 27 
     | 
    
         
            +
                  records = []
         
     | 
| 
      
 28 
     | 
    
         
            +
                  @record_batch.each do |record|
         
     | 
| 
      
 29 
     | 
    
         
            +
                    records << [record, record.index]
         
     | 
| 
      
 30 
     | 
    
         
            +
                  end
         
     | 
| 
      
 31 
     | 
    
         
            +
                  assert_equal([
         
     | 
| 
      
 32 
     | 
    
         
            +
                                 [0, 0],
         
     | 
| 
      
 33 
     | 
    
         
            +
                                 [1, 1],
         
     | 
| 
      
 34 
     | 
    
         
            +
                                 [2, 2],
         
     | 
| 
      
 35 
     | 
    
         
            +
                                 [3, 3],
         
     | 
| 
      
 36 
     | 
    
         
            +
                               ],
         
     | 
| 
      
 37 
     | 
    
         
            +
                               records.collect {|record, i| [record.index, i]})
         
     | 
| 
      
 38 
     | 
    
         
            +
                end
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
                test("reuse_record: true") do
         
     | 
| 
      
 41 
     | 
    
         
            +
                  records = []
         
     | 
| 
      
 42 
     | 
    
         
            +
                  @record_batch.each(reuse_record: true) do |record|
         
     | 
| 
      
 43 
     | 
    
         
            +
                    records << [record, record.index]
         
     | 
| 
      
 44 
     | 
    
         
            +
                  end
         
     | 
| 
      
 45 
     | 
    
         
            +
                  assert_equal([
         
     | 
| 
      
 46 
     | 
    
         
            +
                                 [3, 0],
         
     | 
| 
      
 47 
     | 
    
         
            +
                                 [3, 1],
         
     | 
| 
      
 48 
     | 
    
         
            +
                                 [3, 2],
         
     | 
| 
      
 49 
     | 
    
         
            +
                                 [3, 3],
         
     | 
| 
      
 50 
     | 
    
         
            +
                               ],
         
     | 
| 
      
 51 
     | 
    
         
            +
                               records.collect {|record, i| [record.index, i]})
         
     | 
| 
      
 52 
     | 
    
         
            +
                end
         
     | 
| 
      
 53 
     | 
    
         
            +
              end
         
     | 
| 
      
 54 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: red-arrow
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.2. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.2.2
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Kouhei Sutou
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2017- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2017-04-24 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: gobject-introspection
         
     | 
| 
         @@ -111,13 +111,10 @@ files: 
     | 
|
| 
       111 
111 
     | 
    
         
             
            - lib/arrow.rb
         
     | 
| 
       112 
112 
     | 
    
         
             
            - lib/arrow/array-builder.rb
         
     | 
| 
       113 
113 
     | 
    
         
             
            - lib/arrow/array.rb
         
     | 
| 
       114 
     | 
    
         
            -
            - lib/arrow/block-openable-applicable.rb
         
     | 
| 
       115 
114 
     | 
    
         
             
            - lib/arrow/block-openable.rb
         
     | 
| 
       116 
115 
     | 
    
         
             
            - lib/arrow/field.rb
         
     | 
| 
       117 
     | 
    
         
            -
            - lib/arrow/ 
     | 
| 
       118 
     | 
    
         
            -
            - lib/arrow/ipc 
     | 
| 
       119 
     | 
    
         
            -
            - lib/arrow/ipc/loader.rb
         
     | 
| 
       120 
     | 
    
         
            -
            - lib/arrow/ipc/stream-reader.rb
         
     | 
| 
      
 116 
     | 
    
         
            +
            - lib/arrow/ipc-file-reader.rb
         
     | 
| 
      
 117 
     | 
    
         
            +
            - lib/arrow/ipc-stream-reader.rb
         
     | 
| 
       121 
118 
     | 
    
         
             
            - lib/arrow/loader.rb
         
     | 
| 
       122 
119 
     | 
    
         
             
            - lib/arrow/record-batch.rb
         
     | 
| 
       123 
120 
     | 
    
         
             
            - lib/arrow/record.rb
         
     | 
| 
         @@ -126,7 +123,8 @@ files: 
     | 
|
| 
       126 
123 
     | 
    
         
             
            - test/helper.rb
         
     | 
| 
       127 
124 
     | 
    
         
             
            - test/run-test.rb
         
     | 
| 
       128 
125 
     | 
    
         
             
            - test/test-array.rb
         
     | 
| 
       129 
     | 
    
         
            -
             
     | 
| 
      
 126 
     | 
    
         
            +
            - test/test-record-batch.rb
         
     | 
| 
      
 127 
     | 
    
         
            +
            homepage: https://github.com/red-data-tools/red-arrow
         
     | 
| 
       130 
128 
     | 
    
         
             
            licenses:
         
     | 
| 
       131 
129 
     | 
    
         
             
            - Apache-2.0
         
     | 
| 
       132 
130 
     | 
    
         
             
            metadata: {}
         
     | 
| 
         @@ -152,6 +150,7 @@ specification_version: 4 
     | 
|
| 
       152 
150 
     | 
    
         
             
            summary: Red Arrow is a Ruby bindings of Apache Arrow. Red Arrow is based on GObject
         
     | 
| 
       153 
151 
     | 
    
         
             
              Introspection.
         
     | 
| 
       154 
152 
     | 
    
         
             
            test_files:
         
     | 
| 
      
 153 
     | 
    
         
            +
            - test/test-record-batch.rb
         
     | 
| 
       155 
154 
     | 
    
         
             
            - test/helper.rb
         
     | 
| 
       156 
155 
     | 
    
         
             
            - test/run-test.rb
         
     | 
| 
       157 
156 
     | 
    
         
             
            - test/test-array.rb
         
     | 
| 
         @@ -1,29 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # Copyright 2017 Kouhei Sutou <kou@clear-code.com>
         
     | 
| 
       2 
     | 
    
         
            -
            #
         
     | 
| 
       3 
     | 
    
         
            -
            # Licensed under the Apache License, Version 2.0 (the "License");
         
     | 
| 
       4 
     | 
    
         
            -
            # you may not use this file except in compliance with the License.
         
     | 
| 
       5 
     | 
    
         
            -
            # You may obtain a copy of the License at
         
     | 
| 
       6 
     | 
    
         
            -
            #
         
     | 
| 
       7 
     | 
    
         
            -
            #     http://www.apache.org/licenses/LICENSE-2.0
         
     | 
| 
       8 
     | 
    
         
            -
            #
         
     | 
| 
       9 
     | 
    
         
            -
            # Unless required by applicable law or agreed to in writing, software
         
     | 
| 
       10 
     | 
    
         
            -
            # distributed under the License is distributed on an "AS IS" BASIS,
         
     | 
| 
       11 
     | 
    
         
            -
            # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       12 
     | 
    
         
            -
            # See the License for the specific language governing permissions and
         
     | 
| 
       13 
     | 
    
         
            -
            # limitations under the License.
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
            require "arrow/block-openable"
         
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
            module Arrow
         
     | 
| 
       18 
     | 
    
         
            -
              module BlockOpenableApplicable
         
     | 
| 
       19 
     | 
    
         
            -
                private
         
     | 
| 
       20 
     | 
    
         
            -
                def load_object_info(info)
         
     | 
| 
       21 
     | 
    
         
            -
                  super
         
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
                  klass = @base_module.const_get(rubyish_class_name(info))
         
     | 
| 
       24 
     | 
    
         
            -
                  if klass.respond_to?(:open)
         
     | 
| 
       25 
     | 
    
         
            -
                    klass.singleton_class.prepend(BlockOpenable)
         
     | 
| 
       26 
     | 
    
         
            -
                  end
         
     | 
| 
       27 
     | 
    
         
            -
                end
         
     | 
| 
       28 
     | 
    
         
            -
              end
         
     | 
| 
       29 
     | 
    
         
            -
            end
         
     | 
    
        data/lib/arrow/io/loader.rb
    DELETED
    
    | 
         @@ -1,37 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # Copyright 2017 Kouhei Sutou <kou@clear-code.com>
         
     | 
| 
       2 
     | 
    
         
            -
            #
         
     | 
| 
       3 
     | 
    
         
            -
            # Licensed under the Apache License, Version 2.0 (the "License");
         
     | 
| 
       4 
     | 
    
         
            -
            # you may not use this file except in compliance with the License.
         
     | 
| 
       5 
     | 
    
         
            -
            # You may obtain a copy of the License at
         
     | 
| 
       6 
     | 
    
         
            -
            #
         
     | 
| 
       7 
     | 
    
         
            -
            #     http://www.apache.org/licenses/LICENSE-2.0
         
     | 
| 
       8 
     | 
    
         
            -
            #
         
     | 
| 
       9 
     | 
    
         
            -
            # Unless required by applicable law or agreed to in writing, software
         
     | 
| 
       10 
     | 
    
         
            -
            # distributed under the License is distributed on an "AS IS" BASIS,
         
     | 
| 
       11 
     | 
    
         
            -
            # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       12 
     | 
    
         
            -
            # See the License for the specific language governing permissions and
         
     | 
| 
       13 
     | 
    
         
            -
            # limitations under the License.
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
            require "arrow/block-openable-applicable"
         
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
            module Arrow
         
     | 
| 
       18 
     | 
    
         
            -
              module IO
         
     | 
| 
       19 
     | 
    
         
            -
                class Loader < GObjectIntrospection::Loader
         
     | 
| 
       20 
     | 
    
         
            -
                  class << self
         
     | 
| 
       21 
     | 
    
         
            -
                    def load
         
     | 
| 
       22 
     | 
    
         
            -
                      super("ArrowIO", IO)
         
     | 
| 
       23 
     | 
    
         
            -
                    end
         
     | 
| 
       24 
     | 
    
         
            -
                  end
         
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
                  include BlockOpenableApplicable
         
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
                  private
         
     | 
| 
       29 
     | 
    
         
            -
                  def post_load(repository, namespace)
         
     | 
| 
       30 
     | 
    
         
            -
                    require_libraries
         
     | 
| 
       31 
     | 
    
         
            -
                  end
         
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
                  def require_libraries
         
     | 
| 
       34 
     | 
    
         
            -
                  end
         
     | 
| 
       35 
     | 
    
         
            -
                end
         
     | 
| 
       36 
     | 
    
         
            -
              end
         
     | 
| 
       37 
     | 
    
         
            -
            end
         
     | 
    
        data/lib/arrow/ipc/loader.rb
    DELETED
    
    | 
         @@ -1,39 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # Copyright 2017 Kouhei Sutou <kou@clear-code.com>
         
     | 
| 
       2 
     | 
    
         
            -
            #
         
     | 
| 
       3 
     | 
    
         
            -
            # Licensed under the Apache License, Version 2.0 (the "License");
         
     | 
| 
       4 
     | 
    
         
            -
            # you may not use this file except in compliance with the License.
         
     | 
| 
       5 
     | 
    
         
            -
            # You may obtain a copy of the License at
         
     | 
| 
       6 
     | 
    
         
            -
            #
         
     | 
| 
       7 
     | 
    
         
            -
            #     http://www.apache.org/licenses/LICENSE-2.0
         
     | 
| 
       8 
     | 
    
         
            -
            #
         
     | 
| 
       9 
     | 
    
         
            -
            # Unless required by applicable law or agreed to in writing, software
         
     | 
| 
       10 
     | 
    
         
            -
            # distributed under the License is distributed on an "AS IS" BASIS,
         
     | 
| 
       11 
     | 
    
         
            -
            # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       12 
     | 
    
         
            -
            # See the License for the specific language governing permissions and
         
     | 
| 
       13 
     | 
    
         
            -
            # limitations under the License.
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
            require "arrow/block-openable-applicable"
         
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
            module Arrow
         
     | 
| 
       18 
     | 
    
         
            -
              module IPC
         
     | 
| 
       19 
     | 
    
         
            -
                class Loader < GObjectIntrospection::Loader
         
     | 
| 
       20 
     | 
    
         
            -
                  class << self
         
     | 
| 
       21 
     | 
    
         
            -
                    def load
         
     | 
| 
       22 
     | 
    
         
            -
                      super("ArrowIPC", IPC)
         
     | 
| 
       23 
     | 
    
         
            -
                    end
         
     | 
| 
       24 
     | 
    
         
            -
                  end
         
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
                  include BlockOpenableApplicable
         
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
                  private
         
     | 
| 
       29 
     | 
    
         
            -
                  def post_load(repository, namespace)
         
     | 
| 
       30 
     | 
    
         
            -
                    require_libraries
         
     | 
| 
       31 
     | 
    
         
            -
                  end
         
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
                  def require_libraries
         
     | 
| 
       34 
     | 
    
         
            -
                    require "arrow/ipc/file-reader"
         
     | 
| 
       35 
     | 
    
         
            -
                    require "arrow/ipc/stream-reader"
         
     | 
| 
       36 
     | 
    
         
            -
                  end
         
     | 
| 
       37 
     | 
    
         
            -
                end
         
     | 
| 
       38 
     | 
    
         
            -
              end
         
     | 
| 
       39 
     | 
    
         
            -
            end
         
     |