uatu 0.5.1 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/uatu.rb +12 -27
  2. metadata +36 -29
@@ -1,4 +1,4 @@
1
- require 'fssm'
1
+ require 'listen'
2
2
 
3
3
  class Uatu
4
4
 
@@ -18,45 +18,30 @@ class Uatu
18
18
 
19
19
  puts "Watcher started"
20
20
  @last_update = Time.now
21
- FSSM.monitor(@options[:path]) do |mon|
22
- mon.update &(trigger_block :update)
23
- mon.create &(trigger_block :create)
24
- mon.delete &(trigger_block :delete)
25
- end
21
+ Listen.to(@options[:path]) do |mod, add, del|
22
+ trigger(mod + add + del)
23
+ end
26
24
  end
27
25
 
28
26
  private
29
-
30
- def trigger_block(evt)
31
- proc { |base, rel|
32
- trigger base, rel, evt
33
- }
34
- end
35
27
 
36
- def trigger(base, rel, evt)
37
- begin
38
- path = File.realpath(rel, base)
39
- rescue
40
- # if the file does not exist (in case of a deletion)
41
- path = rel
42
- end
43
-
44
- return if exclude? path
28
+ def trigger(paths)
29
+ # return if paths.any? { |p| exclude? p }
45
30
  return unless time_elapsed?
46
31
 
47
- puts "Changed %s" % [rel]
32
+ puts "Changed %s" % [paths]
48
33
 
49
- if include? path
34
+ if paths.any? { |p| include? p }
50
35
  run_script path if @options[:script]
51
36
  run_command path if @options[:cmd]
52
37
  @last_update = Time.now
53
38
  end
54
39
  end
55
40
 
56
- def exclude? (path)
57
- return false unless @options[:exclude]
58
- File.fnmatch(@options[:exclude], path)
59
- end
41
+ # def exclude? (path)
42
+ # return false unless @options[:exclude]
43
+ # File.fnmatch(@options[:exclude], path)
44
+ # end
60
45
 
61
46
  def include? (path)
62
47
  return true unless @options[:pattern]
metadata CHANGED
@@ -1,58 +1,65 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: uatu
3
- version: !ruby/object:Gem::Version
4
- version: 0.5.1
3
+ version: !ruby/object:Gem::Version
5
4
  prerelease:
5
+ version: 0.6.0
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Jeremy David
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-21 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: fssm
16
- requirement: &8702920 !ruby/object:Gem::Requirement
12
+
13
+ date: 2012-03-21 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: listen
17
+ prerelease: false
18
+ requirement: &id001 !ruby/object:Gem::Requirement
17
19
  none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: 0.2.8.1
20
+ requirements:
21
+ - - ~>
22
+ - !ruby/object:Gem::Version
23
+ version: 0.4.7
22
24
  type: :runtime
23
- prerelease: false
24
- version_requirements: *8702920
25
- description: ! "\n A simple gem to trigger a script upon file system change\n "
25
+ version_requirements: *id001
26
+ description: "\n A simple gem to trigger a script upon file system change\n "
26
27
  email: uatu@jeremydavid.ch
27
- executables:
28
+ executables:
28
29
  - uatu
29
30
  extensions: []
31
+
30
32
  extra_rdoc_files: []
31
- files:
33
+
34
+ files:
32
35
  - bin/uatu
33
36
  - lib/uatu.rb
34
37
  homepage: http://github.com/ltouroumov/uatu
35
38
  licenses: []
39
+
36
40
  post_install_message:
37
41
  rdoc_options: []
38
- require_paths:
42
+
43
+ require_paths:
39
44
  - lib
40
- required_ruby_version: !ruby/object:Gem::Requirement
45
+ required_ruby_version: !ruby/object:Gem::Requirement
41
46
  none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
46
- required_rubygems_version: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: "0"
51
+ required_rubygems_version: !ruby/object:Gem::Requirement
47
52
  none: false
48
- requirements:
49
- - - ! '>='
50
- - !ruby/object:Gem::Version
51
- version: '0'
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: "0"
52
57
  requirements: []
58
+
53
59
  rubyforge_project:
54
60
  rubygems_version: 1.8.11
55
61
  signing_key:
56
62
  specification_version: 3
57
63
  summary: Script trigger upon changes
58
64
  test_files: []
65
+