Class: Embulk::PageBuilder
- Inherits:
-
Object
- Object
- Embulk::PageBuilder
- Defined in:
- lib/embulk/page_builder.rb
Instance Method Summary collapse
- #[](index_or_column) ⇒ Object
- #add(record) ⇒ Object
- #add! ⇒ Object
- #close ⇒ Object
- #column(index_or_column) ⇒ Object
- #column_or_skip(index_or_column) ⇒ Object
- #finish ⇒ Object
- #flush ⇒ Object
-
#initialize(schema, java_page_output) ⇒ PageBuilder
constructor
A new instance of PageBuilder.
Constructor Details
#initialize(schema, java_page_output) ⇒ PageBuilder
Returns a new instance of PageBuilder.
8 9 10 11 12 13 |
# File 'lib/embulk/page_builder.rb', line 8 def initialize(schema, java_page_output) # TODO get task as an argument task = Java::SPI::Exec.newConfigSource.load_config(Java::DynamicPageBuilder::BuilderTask.java_class) @page_builder = Java::DynamicPageBuilder.new(task, Java::Injected::BufferAllocator, schema.to_java, java_page_output) @schema = schema end |
Instance Method Details
#[](index_or_column) ⇒ Object
26 27 28 29 30 31 32 33 34 35 |
# File 'lib/embulk/page_builder.rb', line 26 def [](index_or_column) case index_or_column when Integer @page_builder.column_or_null(index_or_column) when Column @page_builder.column_or_null(index_or_column.index) else @page_builder.column_or_null(index_or_column) end end |
#add(record) ⇒ Object
15 16 17 18 19 20 21 22 23 24 |
# File 'lib/embulk/page_builder.rb', line 15 def add(record) i = 0 m = record.size while i < m @page_builder.column(i).set(record[i]) i += 1 end @page_builder.addRecord nil end |
#add! ⇒ Object
59 60 61 |
# File 'lib/embulk/page_builder.rb', line 59 def add! @page_builder.add_record end |
#close ⇒ Object
71 72 73 |
# File 'lib/embulk/page_builder.rb', line 71 def close @page_builder.close end |
#column(index_or_column) ⇒ Object
37 38 39 40 41 42 43 44 45 46 |
# File 'lib/embulk/page_builder.rb', line 37 def column(index_or_column) case index_or_column when Integer @page_builder.column(index_or_column) when Column @page_builder.column(index_or_column.index) else @page_builder.lookupColumn(index_or_column) end end |
#column_or_skip(index_or_column) ⇒ Object
48 49 50 51 52 53 54 55 56 57 |
# File 'lib/embulk/page_builder.rb', line 48 def column_or_skip(index_or_column) case index_or_column when Integer @page_builder.column_or_skip(index_or_column) when Column @page_builder.column_or_skip(index_or_column.index) else @page_builder.column_or_skip(index_or_column) end end |
#finish ⇒ Object
67 68 69 |
# File 'lib/embulk/page_builder.rb', line 67 def finish @page_builder.finish end |
#flush ⇒ Object
63 64 65 |
# File 'lib/embulk/page_builder.rb', line 63 def flush @page_builder.flush end |