Class: UniversalAccessLogParser::EntryIterator

Inherits:
Object
  • Object
show all
Defined in:
lib/universal-access-log-parser.rb

Defined Under Namespace

Classes: Stats

Instance Method Summary collapse

Constructor Details

#initialize(parser, io, close_io) ⇒ EntryIterator

Returns a new instance of EntryIterator.



242
243
244
245
246
# File 'lib/universal-access-log-parser.rb', line 242

def initialize(parser, io, close_io)
	@parser = parser
	@io = io
	@close_io = close_io
end

Instance Method Details

#closeObject



290
291
292
# File 'lib/universal-access-log-parser.rb', line 290

def close
	@io.close
end

#eachObject



248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
# File 'lib/universal-access-log-parser.rb', line 248

def each
	failures = 0
	successes = 0

	@io.each_line do |line|
		begin
			line.strip!
			next if @parser.skip?(line)
			yield @parser.parse(line.strip)
			successes += 1
		rescue ParsingError
			failures += 1
		end
	end
	@io.close if @close_io
	Stats.new(failures, successes)
end

#each!Object



266
267
268
269
270
271
272
273
274
275
276
# File 'lib/universal-access-log-parser.rb', line 266

def each!
	begin
		@io.each_line do |line|
			line.strip!
			next if @parser.skip?(line)
			yield  @parser.parse(line.strip)
		end
	ensure
		@io.close if @close_io
	end
end

#each_parsed!Object



278
279
280
281
282
283
284
285
286
287
288
# File 'lib/universal-access-log-parser.rb', line 278

def each_parsed!
	begin
		@io.each_line do |line|
			line.strip!
			next if @parser.skip?(line)
			yield @parser.parse(line.strip).parse!
		end
	ensure
		@io.close if @close_io
	end
end