Class: Metacrunch::Job::Buffer
- Inherits:
-
Object
- Object
- Metacrunch::Job::Buffer
- Defined in:
- lib/metacrunch/job/buffer.rb
Instance Method Summary collapse
- #buffer(data) ⇒ Object
- #flush ⇒ Object
-
#initialize(size_or_proc) ⇒ Buffer
constructor
A new instance of Buffer.
Constructor Details
#initialize(size_or_proc) ⇒ Buffer
Returns a new instance of Buffer.
4 5 6 7 8 9 10 11 |
# File 'lib/metacrunch/job/buffer.rb', line 4 def initialize(size_or_proc) @size_or_proc = size_or_proc @buffer = [] if @size_or_proc.is_a?(Numeric) && @size_or_proc <= 0 raise ArgumentError, "Buffer size must be a posive number greater that 0." end end |
Instance Method Details
#buffer(data) ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/metacrunch/job/buffer.rb', line 13 def buffer(data) @buffer << data case @size_or_proc when Numeric flush if @buffer.count >= @size_or_proc.to_i when Proc flush if @size_or_proc.call == true end end |
#flush ⇒ Object
24 25 26 27 28 |
# File 'lib/metacrunch/job/buffer.rb', line 24 def flush @buffer.presence ensure @buffer = [] end |