class SamplingHash::SamplingIO

Public Class Methods

new(io, sampler = nil) click to toggle source
# File lib/sampling-hash/sampling-io.rb, line 3
def initialize(io, sampler = nil)
  raise ArgumentError, 'first parameter should be IO' unless io.kind_of?(IO)

  @io = io
  @sampler = sampler || Sampler.new(io.stat.size)
end

Public Instance Methods

samples() { |read| ... } click to toggle source
# File lib/sampling-hash/sampling-io.rb, line 10
def samples
  @sampler.each do |offset, size|
    @io.seek(offset, IO::SEEK_SET)
    yield @io.read(size)
  end
end