autotest-inotify 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/autotest/inotify.rb +11 -5
- metadata +35 -13
data/lib/autotest/inotify.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
# Extend autotest with inotify goodness
|
2
2
|
|
3
3
|
require "rubygems"
|
4
|
-
require "ruby-debug"
|
5
4
|
require "autotest"
|
6
5
|
require "rbconfig"
|
7
6
|
require "rb-inotify"
|
@@ -42,7 +41,7 @@ module Autotest::Inotify
|
|
42
41
|
def wait_for_changes
|
43
42
|
@changed_files = {}
|
44
43
|
hook :waiting
|
45
|
-
@notifier.process
|
44
|
+
@notifier.process while @changed_files.empty?
|
46
45
|
end
|
47
46
|
|
48
47
|
def find_files_to_test(files=nil)
|
@@ -67,9 +66,16 @@ module Autotest::Inotify
|
|
67
66
|
|
68
67
|
def setup_inotify
|
69
68
|
@notifier = INotify::Notifier.new
|
70
|
-
self.find_files.keys
|
71
|
-
|
72
|
-
|
69
|
+
files = self.find_files.keys
|
70
|
+
dirs = files.map{|f| File.dirname( f )}.uniq
|
71
|
+
# Watch directories to catch delete/move swap patterns as well as direct
|
72
|
+
# modifications. This handles, e.g. :w in vim.
|
73
|
+
dirs.each do |dir|
|
74
|
+
@notifier.watch( dir, :all_events ) do |event|
|
75
|
+
if event.flags.include? :modify and
|
76
|
+
files.include? event.absolute_name
|
77
|
+
handle_file_event( event )
|
78
|
+
end
|
73
79
|
end
|
74
80
|
end
|
75
81
|
end
|
metadata
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: autotest-inotify
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 25
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 3
|
10
|
+
version: 0.0.3
|
5
11
|
platform: ruby
|
6
12
|
authors:
|
7
13
|
- Eric Wollesen
|
@@ -9,29 +15,39 @@ autorequire:
|
|
9
15
|
bindir: bin
|
10
16
|
cert_chain: []
|
11
17
|
|
12
|
-
date: 2010-
|
18
|
+
date: 2010-06-17 00:00:00 -06:00
|
13
19
|
default_executable:
|
14
20
|
dependencies:
|
15
21
|
- !ruby/object:Gem::Dependency
|
16
22
|
name: autotest
|
17
|
-
|
18
|
-
|
19
|
-
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
20
26
|
requirements:
|
21
27
|
- - ">="
|
22
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 63
|
30
|
+
segments:
|
31
|
+
- 4
|
32
|
+
- 2
|
33
|
+
- 4
|
23
34
|
version: 4.2.4
|
24
|
-
|
35
|
+
type: :runtime
|
36
|
+
version_requirements: *id001
|
25
37
|
- !ruby/object:Gem::Dependency
|
26
38
|
name: rb-inotify
|
27
|
-
|
28
|
-
|
29
|
-
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
30
42
|
requirements:
|
31
43
|
- - ">="
|
32
44
|
- !ruby/object:Gem::Version
|
45
|
+
hash: 3
|
46
|
+
segments:
|
47
|
+
- 0
|
33
48
|
version: "0"
|
34
|
-
|
49
|
+
type: :runtime
|
50
|
+
version_requirements: *id002
|
35
51
|
description: Autotest relies on filesystem polling to detect modifications in source code files. This is expensive for the CPU, harddrive and battery - and unnecesary on Linux with libinotify installed. This gem teaches autotest how to use libinotify.
|
36
52
|
email: ericw@kill-0.com
|
37
53
|
executables: []
|
@@ -55,21 +71,27 @@ rdoc_options:
|
|
55
71
|
require_paths:
|
56
72
|
- lib
|
57
73
|
required_ruby_version: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
58
75
|
requirements:
|
59
76
|
- - ">="
|
60
77
|
- !ruby/object:Gem::Version
|
78
|
+
hash: 3
|
79
|
+
segments:
|
80
|
+
- 0
|
61
81
|
version: "0"
|
62
|
-
version:
|
63
82
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
64
84
|
requirements:
|
65
85
|
- - ">="
|
66
86
|
- !ruby/object:Gem::Version
|
87
|
+
hash: 3
|
88
|
+
segments:
|
89
|
+
- 0
|
67
90
|
version: "0"
|
68
|
-
version:
|
69
91
|
requirements: []
|
70
92
|
|
71
93
|
rubyforge_project:
|
72
|
-
rubygems_version: 1.3.
|
94
|
+
rubygems_version: 1.3.7
|
73
95
|
signing_key:
|
74
96
|
specification_version: 3
|
75
97
|
summary: Teaches autotest to use libinotify (on Linux) instead of filesystem polling.
|