filewatcher 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6c559395f1c1457f19ee303e83605956596ebac4
4
- data.tar.gz: 24e7685882c3861de55f9bfc17db9befdb545d14
3
+ metadata.gz: 8ce65dd1aeaf7054fd9a91b6787778569bccf8a8
4
+ data.tar.gz: 55cd4d125598d649b22f44c7225183c7163bf3f5
5
5
  SHA512:
6
- metadata.gz: ac444120cc0219f01225a064476c8a6af0a15fccb55cc3e50f632befe545550ba70048e1419257e20bfdf32805ffb11bbfbc4a2ae9b993398b152ff7e9a4ea1d
7
- data.tar.gz: 2212e58fcb3605ac6ea7b3103823ea7593abc94f6344a6208cce9aa58039017a755e3845dde5e8fd1a4c033a0a21d696dec6d69b4b7e682fe9b26e26b2d6b357
6
+ metadata.gz: 4c8b05df1ad574ce4a7c47d2b462c052d6c5e722b01f9b2da86c030af313170a2fd650988f2849ef32ad53e07c1217ac7ca72ed3b1b4b0c78a94af2357beb800
7
+ data.tar.gz: ad255b8e5655655f974dcd2e43623c9b0eefb660c6f5c99c50c174f8425eb6d4f6e80b477e0b954bbfb1a349dd7be013613caad4f3e90698610b4d84cacf4a82
@@ -1,6 +1,6 @@
1
1
  = Filewatcher
2
2
 
3
- Simple file watcher. Monitors changes in filesystem by polling. No dependencies.
3
+ Simple file watcher. Monitors changes in filesystem by polling. API has no dependencies.
4
4
 
5
5
  = Install
6
6
 
@@ -46,7 +46,7 @@ Print a list of all files matching *.css first and the print filename when a fil
46
46
  = Available enviroment variables
47
47
 
48
48
  The environment variable $FILENAME is available in the command. On unix like systems the command
49
- has to be enclosed in single quotes. To run node whenever a javascript file is update:
49
+ has to be enclosed in single quotes. To run node whenever a javascript file is updated:
50
50
 
51
51
  $ filewatcher *.js 'node $FILENAME'
52
52
 
@@ -75,20 +75,6 @@ Watch a list of files and directories:
75
75
  puts "Updated " + filename
76
76
  end
77
77
 
78
- Print the names of files beeing watched before we begin:
79
-
80
- FileWatcher.new(["lib/"],"Watching files:").watch do |filename|
81
- puts "Updated " + filename
82
- end
83
- => Watching files:
84
- lib/filewatcher.rb
85
-
86
- To check for changes more often than the default once every second:
87
-
88
- FileWatcher.new(["README.rdoc"]).watch(0.5) do |filename|
89
- puts "Updated " + filename
90
- end
91
-
92
78
  To detect if a file is updated or deleted:
93
79
 
94
80
  FileWatcher.new(["README.rdoc"]).watch() do |filename, event|
@@ -103,6 +89,26 @@ To detect if a file is updated or deleted:
103
89
  end
104
90
  end
105
91
 
92
+ To check for changes more often than the default once every second:
93
+
94
+ FileWatcher.new(["README.rdoc"]).watch(0.5) do |filename|
95
+ puts "Updated " + filename
96
+ end
97
+
98
+ Print the names of files beeing watched before we begin:
99
+
100
+ FileWatcher.new(["lib/"],true).watch do |filename|
101
+ puts "Updated " + filename
102
+ end
103
+ => Watching files:
104
+ lib/filewatcher.rb
105
+
106
+ Use patterns to match filenames. The pattern is not a regular expression; instead it follows rules similar to shell filename globbing. Se Ruby documentation[http://www.ruby-doc.org/core-2.1.1/File.html#method-c-fnmatch] for syntax.
107
+
108
+ FileWatcher.new(["*.rb", "*.xml"]).watch do |filename|
109
+ puts "Updated " + filename
110
+ end
111
+
106
112
  = TODO
107
113
 
108
114
  The Ruby API is fairly well tested but the command line program is buggy at the time beeing.
data/Rakefile CHANGED
@@ -11,21 +11,14 @@ begin
11
11
  gem.homepage = "http://github.com/thomasfl/filewatcher"
12
12
  gem.executables = ["filewatcher"]
13
13
  gem.authors = ["Thomas Flemming"]
14
- gem.add_development_dependency "thoughtbot-shoulda", ">= 0"
15
- gem.add_dependency "trollop", ">= 1.16.2"
14
+ # gem.add_dependency "trollop", ">= 1.16.2"
15
+ gem.add_dependency 'trollop', '~> 2.0'
16
16
  gem.licenses = ["MIT"]
17
17
  end
18
18
  rescue LoadError
19
19
  puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
20
20
  end
21
21
 
22
- require 'rake/testtask'
23
- Rake::TestTask.new(:test) do |test|
24
- test.libs << 'lib' << 'test'
25
- test.pattern = 'test/**/test_*.rb'
26
- test.verbose = true
27
- end
28
-
29
22
  begin
30
23
  require 'rcov/rcovtask'
31
24
  Rcov::RcovTask.new do |test|
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.2
1
+ 0.3.3
@@ -4,7 +4,7 @@
4
4
  class FileWatcher
5
5
 
6
6
  def self.VERSION
7
- return "0.3.2"
7
+ return "0.3.3"
8
8
  end
9
9
 
10
10
  def initialize(unexpanded_filenames, print_filelist=false)
@@ -73,20 +73,20 @@ class FileWatcher
73
73
  return false
74
74
  end
75
75
 
76
- def expand_directories(filenames)
77
- if(filenames.kind_of?String)
78
- filenames = [filenames]
76
+ def expand_directories(patterns)
77
+ if(!patterns.kind_of?Array)
78
+ patterns = [patterns]
79
79
  end
80
- files = []
81
- filenames.each do |filename|
80
+ filenames = []
81
+ patterns.each do |filename|
82
82
  if(File.directory?(filename))
83
- files = files + find(filename)
84
- end
85
- if(File.file?(filename))
86
- files << filename
83
+ filenames = filenames + find(filename)
84
+ else
85
+ filenames = filenames + find(".", filename, true)
87
86
  end
88
87
  end
89
- filenames = files
88
+
89
+ return filenames.uniq
90
90
  end
91
91
 
92
92
  def find(dir, filename="*.*", subdirs=true)
metadata CHANGED
@@ -1,43 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: filewatcher
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Flemming
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-12 00:00:00.000000000 Z
11
+ date: 2014-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: thoughtbot-shoulda
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - '>='
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - '>='
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: trollop
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
- - - '>='
17
+ - - ~>
32
18
  - !ruby/object:Gem::Version
33
- version: 1.16.2
19
+ version: '2.0'
34
20
  type: :runtime
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
- - - '>='
24
+ - - ~>
39
25
  - !ruby/object:Gem::Version
40
- version: 1.16.2
26
+ version: '2.0'
41
27
  description: Detect changes in filesystem.
42
28
  email: thomas.flemming@gmail.com
43
29
  executables:
@@ -53,8 +39,6 @@ files:
53
39
  - VERSION
54
40
  - bin/filewatcher
55
41
  - lib/filewatcher.rb
56
- - test/helper.rb
57
- - test/test_filewatcher.rb
58
42
  homepage: http://github.com/thomasfl/filewatcher
59
43
  licenses:
60
44
  - MIT
@@ -75,7 +59,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
75
59
  version: '0'
76
60
  requirements: []
77
61
  rubyforge_project:
78
- rubygems_version: 2.0.3
62
+ rubygems_version: 2.2.2
79
63
  signing_key:
80
64
  specification_version: 4
81
65
  summary: Simple filewatcher.
@@ -1,4 +0,0 @@
1
- require 'rubygems'
2
- require 'test/unit'
3
- require 'shoulda'
4
- require_relative '../lib/filewatcher.rb'
@@ -1,34 +0,0 @@
1
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '.'))
2
- require 'helper'
3
-
4
- class TestFilewatcher < Test::Unit::TestCase
5
-
6
- should "should detect directories and extract filenames" do
7
-
8
- FileWatcher.new(["test/"],"Watching files. Ctrl-C to abort.").watch(0.1) do |filename, event|
9
- puts "updated: '#{filename.to_s} event:'#{event.to_s}'"
10
- end
11
-
12
- end
13
-
14
- # should "should detect changes in files" do
15
-
16
- # @pid = fork do
17
-
18
- # trap("SIGINT") do
19
- # exit
20
- # end
21
-
22
- # FileWatcher.new(["test/helper.rb"]).watch(0.1) do |filename|
23
- # puts "updated: " + filename
24
- # end
25
-
26
- # end
27
- # sleep(1)
28
- # FileUtils.touch("test/helper.rb")
29
- # sleep(1)
30
- # Process.kill('SIGINT', @pid) rescue nil
31
-
32
- # end
33
-
34
- end