class GroongaLog::Input
Public Class Methods
new(path)
click to toggle source
# File lib/groonga-log/input.rb, line 38 def initialize(path) @path = path @path = @path.to_path if @path.respond_to?(:to_path) case File.extname(@path).downcase when ".gz" @raw = Zlib::GzipReader.open(@path) when ".zip" @raw = Archive::Zip.new(@path, :r) else @raw = File.new(@path) end end
open(path) { |input| ... }
click to toggle source
# File lib/groonga-log/input.rb, line 24 def open(path) input = new(path) if block_given? begin yield(input) ensure input.close unless input.closed? end else input end end
Public Instance Methods
close()
click to toggle source
# File lib/groonga-log/input.rb, line 66 def close @raw.close end
closed?()
click to toggle source
# File lib/groonga-log/input.rb, line 70 def closed? @raw.closed? end
each_line(&block)
click to toggle source
# File lib/groonga-log/input.rb, line 52 def each_line(&block) return to_enum(__method__) unless block_given? case @raw when Archive::Zip @raw.each do |entry| next unless entry.file? entry.file_data.each_line(&block) end else @raw.each_line(&block) end end