Class: CanvasSync::Importers::BulkImporter::RowBuffer

Inherits:
Object
  • Object
show all
Defined in:
lib/canvas_sync/importers/bulk_importer.rb

Direct Known Subclasses

UserRowBuffer

Instance Method Summary collapse

Constructor Details

#initialize(&block) ⇒ RowBuffer

Returns a new instance of RowBuffer.



133
134
135
136
# File 'lib/canvas_sync/importers/bulk_importer.rb', line 133

def initialize(&block)
  @flush_out = block
  @buffered_rows = []
end

Instance Method Details

#<<(v) ⇒ Object



138
139
140
# File 'lib/canvas_sync/importers/bulk_importer.rb', line 138

def <<(v)
  @buffered_rows << v
end

#flush(value = @buffered_rows) ⇒ Object



142
143
144
145
146
147
148
149
150
151
# File 'lib/canvas_sync/importers/bulk_importer.rb', line 142

def flush(value = @buffered_rows)
  if value.is_a?(Array)
    value.each do |v|
      @flush_out.call(v)
    end
  else
    @flush_out.call(value)
  end
  @buffered_rows = []
end