Class: Bulker::Buffer
- Inherits:
-
Object
- Object
- Bulker::Buffer
- Defined in:
- lib/bulker/buffer.rb
Overview
Instance Method Summary collapse
-
#<<(obj) ⇒ Object
add
objinto buffer. -
#flush ⇒ Object
do bulk execution and clear buffer.
-
#initialize(size, &block) ⇒ Buffer
constructor
sizespecify size of buffer.
Constructor Details
#initialize(size, &block) ⇒ Buffer
size specify size of buffer.
block specify callback on filled buffer.
16 17 18 19 20 |
# File 'lib/bulker/buffer.rb', line 16 def initialize(size, &block) @size = size @buffer = [] @on_buffered = block end |
Instance Method Details
#<<(obj) ⇒ Object
add obj into buffer
23 24 25 26 |
# File 'lib/bulker/buffer.rb', line 23 def << (obj) @buffer << obj flush if @buffer.size == @size end |
#flush ⇒ Object
do bulk execution and clear buffer.
29 30 31 32 |
# File 'lib/bulker/buffer.rb', line 29 def flush @on_buffered.call(@buffer) @buffer = [] end |