Class: Woodchuck::TailReader

Inherits:
EventMachine::FileTail
  • Object
show all
Defined in:
lib/woodchuck/tail_reader.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(path, startpos = -1)) ⇒ TailReader

Returns a new instance of TailReader.



12
13
14
15
16
17
18
# File 'lib/woodchuck/tail_reader.rb', line 12

def initialize(path, startpos = -1)
	super(path, startpos)
	@input_format = @@input_format
	@output = @@output

	@buffer = BufferedTokenizer.new
end

Instance Attribute Details

#input_formatObject

Returns the value of attribute input_format.



5
6
7
# File 'lib/woodchuck/tail_reader.rb', line 5

def input_format
  @input_format
end

#outputObject

Returns the value of attribute output.



5
6
7
# File 'lib/woodchuck/tail_reader.rb', line 5

def output
  @output
end

Class Method Details

.static_init(input_format, output) ⇒ Object



7
8
9
10
# File 'lib/woodchuck/tail_reader.rb', line 7

def self.static_init(input_format, output)
	@@input_format = input_format
	@@output = output
end

Instance Method Details

#receive_data(data) ⇒ Object



20
21
22
23
24
# File 'lib/woodchuck/tail_reader.rb', line 20

def receive_data(data)
	@buffer.extract(data.force_encoding('utf-8')).each do |line|
		@output.handle(@input_format.create(path, line))
	end
end