class MappedFile

Attributes

file_path[R]

Public Class Methods

new(fname) { |self| ... } click to toggle source
# File lib/cless/data.rb, line 164
def initialize(fname)
  @ptr = Mmap.new(fname)
  @lines = nil
  @file_path = fname

  if block_given?
    begin
      yield(self)
    ensure
      munmap
    end
  end
end

Public Instance Methods

[](*args) click to toggle source
# File lib/cless/data.rb, line 184
def [](*args); @ptr[*args]; end
each_line(&b) click to toggle source
# File lib/cless/data.rb, line 185
def each_line(&b); @ptr.each_line(&b); end
index(*args) click to toggle source
# File lib/cless/data.rb, line 181
def index(*args); @ptr.index(*args); end
lines() click to toggle source
# File lib/cless/data.rb, line 188
def lines
  return @lines if @lines
  @lines = @ptr.count("\n")
  @lines += 1 if @ptr[-1] != ?\n
  return @lines
end
more_fd() click to toggle source
# File lib/cless/data.rb, line 186
def more_fd; nil; end
munmap() click to toggle source
# File lib/cless/data.rb, line 179
def munmap; @ptr.munmap; end
rindex(*args) click to toggle source
# File lib/cless/data.rb, line 180
def rindex(*args); @ptr.rindex(*args); end
search_index(*args) click to toggle source
# File lib/cless/data.rb, line 183
def search_index(*args); index(*args); end
search_rindex(*args) click to toggle source
# File lib/cless/data.rb, line 182
def search_rindex(*args); rindex(*args); end
size() click to toggle source
# File lib/cless/data.rb, line 178
def size; @ptr.size; end