eventmachine-tail 0.1.2788 → 0.1.2801
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/em/filetail.rb +1 -0
- data/lib/em/globwatcher.rb +3 -2
- data/samples/tail.rb +37 -0
- metadata +3 -2
data/lib/em/filetail.rb
CHANGED
data/lib/em/globwatcher.rb
CHANGED
@@ -42,12 +42,13 @@ class EventMachine::FileGlobWatch
|
|
42
42
|
end # class EventMachine::FileGlobWatch
|
43
43
|
|
44
44
|
class EventMachine::FileGlobWatchTail
|
45
|
-
def initialize(handler=nil)
|
45
|
+
def initialize(handler=nil, *args)
|
46
46
|
@handler = handler
|
47
|
+
@args = args
|
47
48
|
end
|
48
49
|
|
49
50
|
def file_found(path)
|
50
|
-
EventMachine::file_tail(path, @handler)
|
51
|
+
EventMachine::file_tail(path, @handler, *@args)
|
51
52
|
end
|
52
53
|
|
53
54
|
def file_removed(path)
|
data/samples/tail.rb
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#
|
3
|
+
# Simple 'tail -f' example.
|
4
|
+
# Usage example:
|
5
|
+
# tail.rb /var/log/messages
|
6
|
+
|
7
|
+
require "rubygems"
|
8
|
+
require "eventmachine"
|
9
|
+
require "eventmachine-tail"
|
10
|
+
|
11
|
+
class Reader < EventMachine::FileTail
|
12
|
+
def initialize(path, startpos=0)
|
13
|
+
super(path, startpos)
|
14
|
+
@buffer = BufferedTokenizer.new
|
15
|
+
end
|
16
|
+
|
17
|
+
def receive_data(data)
|
18
|
+
@buffer.extract(data).each do |line|
|
19
|
+
puts "#{path}: #{line}"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def main(args)
|
25
|
+
if args.length == 0
|
26
|
+
puts "Usage: #{$0} <path> [path2] [...]"
|
27
|
+
return 1
|
28
|
+
end
|
29
|
+
|
30
|
+
EventMachine.run do
|
31
|
+
args.each do |path|
|
32
|
+
EventMachine::file_tail(path, Reader)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end # def main
|
36
|
+
|
37
|
+
exit(main(ARGV))
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eventmachine-tail
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2801
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jordan Sissel
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-04-
|
12
|
+
date: 2010-04-14 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -34,6 +34,7 @@ files:
|
|
34
34
|
- lib/eventmachine-tail.rb
|
35
35
|
- lib/em/filetail.rb
|
36
36
|
- lib/em/globwatcher.rb
|
37
|
+
- samples/tail.rb
|
37
38
|
- samples/glob-tail.rb
|
38
39
|
has_rdoc: true
|
39
40
|
homepage: http://code.google.com/p/semicomplete/wiki/EventMachineTail
|