directory_watcher 1.1.0 → 1.1.1

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/History.txt ADDED
@@ -0,0 +1,25 @@
1
+ == 1.1.1 / 2008-01-01
2
+
3
+ * 1 minor enhancement
4
+ - now using Mr Bones framework instead of Hoe
5
+
6
+ == 1.1.0 / 2007-11-28
7
+ * directory watcher now works with Ruby 1.9
8
+
9
+ == 1.0.0 / 2007-08-21
10
+ * added a join method (much like Thread#join)
11
+
12
+ == 0.1.4 / 2007-08-20
13
+ * added version information to the class
14
+
15
+ == 0.1.3 / 2006-12-07
16
+ * fixed documentation generation bug
17
+
18
+ == 0.1.2 / 2006-11-26
19
+ * fixed warnings
20
+
21
+ == 0.1.1 / 2006-11-10
22
+ * removed explicit dependency on hoe
23
+
24
+ == 0.1.0 / 2006-11-10
25
+ * initial release
data/Manifest.txt CHANGED
@@ -1,4 +1,11 @@
1
+ History.txt
1
2
  Manifest.txt
2
- Rakefile
3
3
  README.txt
4
+ Rakefile
4
5
  lib/directory_watcher.rb
6
+ tasks/annotations.rake
7
+ tasks/doc.rake
8
+ tasks/gem.rake
9
+ tasks/manifest.rake
10
+ tasks/rubyforge.rake
11
+ tasks/setup.rb
data/README.txt CHANGED
@@ -1,7 +1,47 @@
1
+ directory_watcher
2
+ by Tim Pease
3
+ http://codeforpeople.rubyforge.org/directory_watcher
1
4
 
2
- == Directory Watcher
5
+ == DESCRIPTION:
6
+
7
+ The directory watcher operates by scanning a directory at some interval and
8
+ generating a list of files based on a user supplied glob pattern. As the file
9
+ list changes from one interval to the next, events are generated and
10
+ dispatched to registered observers. Three types of events are supported --
11
+ added, modified, and removed.
3
12
 
4
- A class for watching files within a directory and generating events when
5
- those files change.
13
+ == FEATURES:
14
+
15
+ See DirectoryWatcher for detailed documentation and usage.
6
16
 
7
- See DirectoryWatcher for detailed documentation and usage.
17
+ == REQUIREMENTS:
18
+
19
+ This is a pure ruby library. There are no requirements for using this code.
20
+
21
+ == INSTALL:
22
+
23
+ sudo gem install directory_watcher
24
+
25
+ == LICENSE:
26
+
27
+ MIT License
28
+ Copyright (c) 2007 - 2008
29
+
30
+ Permission is hereby granted, free of charge, to any person obtaining
31
+ a copy of this software and associated documentation files (the
32
+ 'Software'), to deal in the Software without restriction, including
33
+ without limitation the rights to use, copy, modify, merge, publish,
34
+ distribute, sublicense, and/or sell copies of the Software, and to
35
+ permit persons to whom the Software is furnished to do so, subject to
36
+ the following conditions:
37
+
38
+ The above copyright notice and this permission notice shall be
39
+ included in all copies or substantial portions of the Software.
40
+
41
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
42
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
43
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
44
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
45
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
46
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
47
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile CHANGED
@@ -1,45 +1,20 @@
1
+ # $Id: Rakefile 442 2008-01-02 04:39:32Z tim_pease $
1
2
 
2
- require 'hoe'
3
+ load 'tasks/setup.rb'
4
+ ensure_in_path 'lib'
3
5
  require 'directory_watcher'
4
6
 
5
- PKG_VERSION = ENV['VERSION'] || DirectoryWatcher::VERSION
6
-
7
- Hoe.new('directory_watcher', PKG_VERSION) do |proj|
8
- proj.rubyforge_name = 'codeforpeople'
9
- proj.author = 'Tim Pease'
10
- proj.email = 'tim.pease@gmail.com'
11
- proj.url = nil
12
- proj.extra_deps = []
13
- proj.summary = 'A class for watching files within a directory and generating events when those files change'
14
- proj.description = <<-DESC
15
- The directory watcher operates by scanning a directory at some interval and
16
- generating a list of files based on a user supplied glob pattern. As the file
17
- list changes from one interval to the next, events are generated and
18
- dispatched to registered observers. Three types of events are supported --
19
- added, modified, and removed.
20
- DESC
21
- proj.changes = <<-CHANGES
22
- Version 1.1.0 / 2007-11-28
23
- * directory watcher now works with Ruby 1.9
24
-
25
- Version 1.0.0 / 2007-08-21
26
- * added a join method (much like Thread#join)
27
-
28
- Version 0.1.4 / 2007-08-20
29
- * added version information to the class
30
-
31
- Version 0.1.3 / 2006-12-07
32
- * fixed documentation generation bug
33
-
34
- Version 0.1.2 / 2006-11-26
35
- * fixed warnings
36
-
37
- Version 0.1.1 / 2006-11-10
38
- * removed explicit dependency on hoe
39
-
40
- Version 0.1.0 / 2006-11-10
41
- * initial release
42
- CHANGES
43
- end
7
+ task :default => 'spec:run'
8
+
9
+ PROJ.name = 'directory_watcher'
10
+ PROJ.summary = 'A class for watching files within a directory and generating events when those files change'
11
+ PROJ.authors = 'Tim Pease'
12
+ PROJ.email = 'tim.pease@gmail.com'
13
+ PROJ.url = 'http://codeforpeople.rubyforge.org/directory_watcher'
14
+ PROJ.description = paragraphs_of('README.txt', 1).join("\n\n")
15
+ PROJ.changes = paragraphs_of('History.txt', 0..1).join("\n\n")
16
+ PROJ.rubyforge_name = 'codeforpeople'
17
+ PROJ.rdoc_remote_dir = 'directory_watcher'
18
+ PROJ.version = DirectoryWatcher::VERSION
44
19
 
45
20
  # EOF
@@ -150,7 +150,7 @@ require 'observer'
150
150
  #
151
151
  class DirectoryWatcher
152
152
 
153
- VERSION = '1.1.0' # :nodoc:
153
+ VERSION = '1.1.1' # :nodoc:
154
154
 
155
155
  # An +Event+ structure contains the _type_ of the event and the file _path_
156
156
  # to which the event pertains. The type can be one of the following:
@@ -0,0 +1,30 @@
1
+ # $Id: annotations.rake 441 2008-01-02 04:25:01Z tim_pease $
2
+
3
+ if HAVE_BONES
4
+
5
+ desc "Enumerate all annotations"
6
+ task :notes do
7
+ Bones::AnnotationExtractor.enumerate(
8
+ PROJ, "OPTIMIZE|FIXME|TODO", :tag => true)
9
+ end
10
+
11
+ namespace :notes do
12
+ desc "Enumerate all OPTIMIZE annotations"
13
+ task :optimize do
14
+ Bones::AnnotationExtractor.enumerate(PROJ, "OPTIMIZE")
15
+ end
16
+
17
+ desc "Enumerate all FIXME annotations"
18
+ task :fixme do
19
+ Bones::AnnotationExtractor.enumerate(PROJ, "FIXME")
20
+ end
21
+
22
+ desc "Enumerate all TODO annotations"
23
+ task :todo do
24
+ Bones::AnnotationExtractor.enumerate(PROJ, "TODO")
25
+ end
26
+ end
27
+
28
+ end # if HAVE_BONES
29
+
30
+ # EOF
data/tasks/doc.rake ADDED
@@ -0,0 +1,49 @@
1
+ # $Id: doc.rake 441 2008-01-02 04:25:01Z tim_pease $
2
+
3
+ require 'rake/rdoctask'
4
+
5
+ namespace :doc do
6
+
7
+ desc 'Generate RDoc documentation'
8
+ Rake::RDocTask.new do |rd|
9
+ rd.main = PROJ.rdoc_main
10
+ rd.options << '-d' if !WIN32 and `which dot` =~ %r/\/dot/
11
+ rd.rdoc_dir = PROJ.rdoc_dir
12
+
13
+ incl = Regexp.new(PROJ.rdoc_include.join('|'))
14
+ excl = Regexp.new(PROJ.rdoc_exclude.join('|'))
15
+ files = PROJ.files.find_all do |fn|
16
+ case fn
17
+ when excl; false
18
+ when incl; true
19
+ else false end
20
+ end
21
+ rd.rdoc_files.push(*files)
22
+
23
+ title = "#{PROJ.name}-#{PROJ.version} Documentation"
24
+ title = "#{PROJ.rubyforge_name}'s " + title if PROJ.rubyforge_name != title
25
+
26
+ rd.options << "-t #{title}"
27
+ end
28
+
29
+ desc 'Generate ri locally for testing'
30
+ task :ri => :clobber_ri do
31
+ sh "#{RDOC} --ri -o ri ."
32
+ end
33
+
34
+ desc 'Remove ri products'
35
+ task :clobber_ri do
36
+ rm_r 'ri' rescue nil
37
+ end
38
+
39
+ end # namespace :doc
40
+
41
+ desc 'Alias to doc:rdoc'
42
+ task :doc => 'doc:rdoc'
43
+
44
+ desc 'Remove all build products'
45
+ task :clobber => %w(doc:clobber_rdoc doc:clobber_ri)
46
+
47
+ remove_desc_for_task %w(doc:clobber_rdoc doc:clobber_ri)
48
+
49
+ # EOF
data/tasks/gem.rake ADDED
@@ -0,0 +1,89 @@
1
+ # $Id: gem.rake 441 2008-01-02 04:25:01Z tim_pease $
2
+
3
+ require 'rake/gempackagetask'
4
+
5
+ namespace :gem do
6
+
7
+ PROJ.spec = Gem::Specification.new do |s|
8
+ s.name = PROJ.name
9
+ s.version = PROJ.version
10
+ s.summary = PROJ.summary
11
+ s.authors = Array(PROJ.authors)
12
+ s.email = PROJ.email
13
+ s.homepage = Array(PROJ.url).first
14
+ s.rubyforge_project = PROJ.rubyforge_name
15
+
16
+ s.description = PROJ.description
17
+
18
+ PROJ.dependencies.each do |dep|
19
+ s.add_dependency(*dep)
20
+ end
21
+
22
+ s.files = PROJ.files
23
+ s.executables = PROJ.executables.map {|fn| File.basename(fn)}
24
+ s.extensions = PROJ.files.grep %r/extconf\.rb$/
25
+
26
+ s.bindir = 'bin'
27
+ dirs = Dir["{#{PROJ.libs.join(',')}}"]
28
+ s.require_paths = dirs unless dirs.empty?
29
+
30
+ incl = Regexp.new(PROJ.rdoc_include.join('|'))
31
+ excl = PROJ.rdoc_exclude.dup.concat %w[\.rb$ ^(\.\/|\/)?ext]
32
+ excl = Regexp.new(excl.join('|'))
33
+ rdoc_files = PROJ.files.find_all do |fn|
34
+ case fn
35
+ when excl; false
36
+ when incl; true
37
+ else false end
38
+ end
39
+ s.rdoc_options = PROJ.rdoc_opts + ['--main', PROJ.rdoc_main]
40
+ s.extra_rdoc_files = rdoc_files
41
+ s.has_rdoc = true
42
+
43
+ if test ?f, PROJ.test_file
44
+ s.test_file = PROJ.test_file
45
+ else
46
+ s.test_files = PROJ.tests.to_a
47
+ end
48
+
49
+ # Do any extra stuff the user wants
50
+ # spec_extras.each do |msg, val|
51
+ # case val
52
+ # when Proc
53
+ # val.call(s.send(msg))
54
+ # else
55
+ # s.send "#{msg}=", val
56
+ # end
57
+ # end
58
+ end
59
+
60
+ desc 'Show information about the gem'
61
+ task :debug do
62
+ puts PROJ.spec.to_ruby
63
+ end
64
+
65
+ Rake::GemPackageTask.new(PROJ.spec) do |pkg|
66
+ pkg.need_tar = PROJ.need_tar
67
+ pkg.need_zip = PROJ.need_zip
68
+ end
69
+
70
+ desc 'Install the gem'
71
+ task :install => [:clobber, :package] do
72
+ sh "#{SUDO} #{GEM} install pkg/#{PROJ.spec.file_name}"
73
+ end
74
+
75
+ desc 'Uninstall the gem'
76
+ task :uninstall do
77
+ sh "#{SUDO} #{GEM} uninstall -v '#{PROJ.version}' #{PROJ.name}"
78
+ end
79
+
80
+ end # namespace :gem
81
+
82
+ desc 'Alias to gem:package'
83
+ task :gem => 'gem:package'
84
+
85
+ task :clobber => 'gem:clobber_package'
86
+
87
+ remove_desc_for_task %w(gem:clobber_package)
88
+
89
+ # EOF
@@ -0,0 +1,41 @@
1
+ # $Id: manifest.rake 441 2008-01-02 04:25:01Z tim_pease $
2
+
3
+ require 'find'
4
+
5
+ namespace :manifest do
6
+
7
+ desc 'Verify the manifest'
8
+ task :check do
9
+ fn = 'Manifest.tmp'
10
+ files = []
11
+ exclude = Regexp.new(PROJ.exclude.join('|'))
12
+ Find.find '.' do |path|
13
+ path.sub! %r/^(\.\/|\/)/o, ''
14
+ next unless test ?f, path
15
+ next if path =~ exclude
16
+ files << path
17
+ end
18
+
19
+ File.open(fn, 'w') {|fp| fp.puts files.sort}
20
+ system "#{DIFF} -du Manifest.txt #{fn}"
21
+ rm fn rescue nil
22
+ end
23
+
24
+ desc 'Create a new manifest'
25
+ task :create do
26
+ fn = 'Manifest.txt'
27
+ files = []
28
+ exclude = Regexp.new(PROJ.exclude.join('|'))
29
+ Find.find '.' do |path|
30
+ path.sub! %r/^(\.\/|\/)/o, ''
31
+ next unless test ?f, path
32
+ next if path =~ exclude
33
+ files << path
34
+ end
35
+
36
+ files << fn unless test ?f, fn
37
+ File.open(fn, 'w') {|fp| fp.puts files.sort}
38
+ end
39
+ end
40
+
41
+ # EOF
@@ -0,0 +1,57 @@
1
+ # $Id: rubyforge.rake 441 2008-01-02 04:25:01Z tim_pease $
2
+
3
+ if PROJ.rubyforge_name && HAVE_RUBYFORGE
4
+
5
+ require 'rubyforge'
6
+ require 'rake/contrib/sshpublisher'
7
+
8
+ namespace :gem do
9
+ desc 'Package and upload to RubyForge'
10
+ task :release => [:clobber, :package] do |t|
11
+ v = ENV['VERSION'] or abort 'Must supply VERSION=x.y.z'
12
+ abort "Versions don't match #{v} vs #{PROJ.version}" if v != PROJ.version
13
+ pkg = "pkg/#{PROJ.spec.full_name}"
14
+
15
+ if $DEBUG then
16
+ puts "release_id = rf.add_release #{PROJ.rubyforge_name.inspect}, #{PROJ.name.inspect}, #{PROJ.version.inspect}, \"#{pkg}.tgz\""
17
+ puts "rf.add_file #{PROJ.rubyforge_name.inspect}, #{PROJ.name.inspect}, release_id, \"#{pkg}.gem\""
18
+ end
19
+
20
+ rf = RubyForge.new
21
+ puts 'Logging in'
22
+ rf.login
23
+
24
+ c = rf.userconfig
25
+ c['release_notes'] = PROJ.description if PROJ.description
26
+ c['release_changes'] = PROJ.changes if PROJ.changes
27
+ c['preformatted'] = true
28
+
29
+ files = [(PROJ.need_tar ? "#{pkg}.tgz" : nil),
30
+ (PROJ.need_zip ? "#{pkg}.zip" : nil),
31
+ "#{pkg}.gem"].compact
32
+
33
+ puts "Releasing #{PROJ.name} v. #{PROJ.version}"
34
+ rf.add_release PROJ.rubyforge_name, PROJ.name, PROJ.version, *files
35
+ end
36
+ end # namespace :gem
37
+
38
+
39
+ namespace :doc do
40
+ desc "Publish RDoc to RubyForge"
41
+ task :release => %w(doc:clobber_rdoc doc:rdoc) do
42
+ config = YAML.load(
43
+ File.read(File.expand_path('~/.rubyforge/user-config.yml'))
44
+ )
45
+
46
+ host = "#{config['username']}@rubyforge.org"
47
+ remote_dir = "/var/www/gforge-projects/#{PROJ.rubyforge_name}/"
48
+ remote_dir << PROJ.rdoc_remote_dir || PROJ.name
49
+ local_dir = PROJ.rdoc_dir
50
+
51
+ Rake::SshDirPublisher.new(host, remote_dir, local_dir).upload
52
+ end
53
+ end # namespace :doc
54
+
55
+ end # if HAVE_RUBYFORGE
56
+
57
+ # EOF
data/tasks/setup.rb ADDED
@@ -0,0 +1,144 @@
1
+ # $Id: setup.rb 441 2008-01-02 04:25:01Z tim_pease $
2
+
3
+ require 'rubygems'
4
+ require 'rake'
5
+ require 'fileutils'
6
+ require 'ostruct'
7
+
8
+ PROJ = OpenStruct.new
9
+
10
+ PROJ.name = nil
11
+ PROJ.summary = nil
12
+ PROJ.description = nil
13
+ PROJ.changes = nil
14
+ PROJ.authors = nil
15
+ PROJ.email = nil
16
+ PROJ.url = nil
17
+ PROJ.version = ENV['VERSION'] || '0.0.0'
18
+ PROJ.rubyforge_name = nil
19
+ PROJ.exclude = %w(tmp$ bak$ ~$ CVS \.svn ^pkg ^doc)
20
+
21
+ # Rspec
22
+ PROJ.specs = FileList['spec/**/*_spec.rb']
23
+ PROJ.spec_opts = []
24
+
25
+ # Test::Unit
26
+ PROJ.tests = FileList['test/**/test_*.rb']
27
+ PROJ.test_file = 'test/all.rb'
28
+ PROJ.test_opts = []
29
+
30
+ # Rcov
31
+ PROJ.rcov_opts = ['--sort', 'coverage', '-T']
32
+
33
+ # Rdoc
34
+ PROJ.rdoc_opts = []
35
+ PROJ.rdoc_include = %w(^lib ^bin ^ext txt$)
36
+ PROJ.rdoc_exclude = %w(extconf\.rb$ ^Manifest\.txt$)
37
+ PROJ.rdoc_main = 'README.txt'
38
+ PROJ.rdoc_dir = 'doc'
39
+ PROJ.rdoc_remote_dir = nil
40
+
41
+ # Extensions
42
+ PROJ.extensions = FileList['ext/**/extconf.rb']
43
+ PROJ.ruby_opts = %w(-w)
44
+ PROJ.libs = []
45
+ %w(lib ext).each {|dir| PROJ.libs << dir if test ?d, dir}
46
+
47
+ # Gem Packaging
48
+ PROJ.files =
49
+ if test ?f, 'Manifest.txt'
50
+ files = File.readlines('Manifest.txt').map {|fn| fn.chomp.strip}
51
+ files.delete ''
52
+ files
53
+ else [] end
54
+ PROJ.executables = PROJ.files.find_all {|fn| fn =~ %r/^bin/}
55
+ PROJ.dependencies = []
56
+ PROJ.need_tar = true
57
+ PROJ.need_zip = false
58
+
59
+ # File Annotations
60
+ PROJ.annotation_exclude = []
61
+ PROJ.annotation_extensions = %w(.txt .rb .erb) << ''
62
+
63
+ # Load the other rake files in the tasks folder
64
+ Dir.glob('tasks/*.rake').sort.each {|fn| import fn}
65
+
66
+ # Setup some constants
67
+ WIN32 = %r/win32/ =~ RUBY_PLATFORM unless defined? WIN32
68
+
69
+ DEV_NULL = WIN32 ? 'NUL:' : '/dev/null'
70
+
71
+ def quiet( &block )
72
+ io = [STDOUT.dup, STDERR.dup]
73
+ STDOUT.reopen DEV_NULL
74
+ STDERR.reopen DEV_NULL
75
+ block.call
76
+ ensure
77
+ STDOUT.reopen io.first
78
+ STDERR.reopen io.last
79
+ end
80
+
81
+ DIFF = if WIN32 then 'diff.exe'
82
+ else
83
+ if quiet {system "gdiff", __FILE__, __FILE__} then 'gdiff'
84
+ else 'diff' end
85
+ end unless defined? DIFF
86
+
87
+ SUDO = if WIN32 then ''
88
+ else
89
+ if quiet {system 'which sudo'} then 'sudo'
90
+ else '' end
91
+ end
92
+
93
+ RCOV = WIN32 ? 'rcov.cmd' : 'rcov'
94
+ GEM = WIN32 ? 'gem.cmd' : 'gem'
95
+
96
+ %w(rcov spec/rake/spectask rubyforge bones).each do |lib|
97
+ begin
98
+ require lib
99
+ Object.instance_eval {const_set "HAVE_#{lib.tr('/','_').upcase}", true}
100
+ rescue LoadError
101
+ Object.instance_eval {const_set "HAVE_#{lib.tr('/','_').upcase}", false}
102
+ end
103
+ end
104
+
105
+ # Reads a file at +path+ and spits out an array of the +paragraphs+
106
+ # specified.
107
+ #
108
+ # changes = paragraphs_of('History.txt', 0..1).join("\n\n")
109
+ # summary, *description = paragraphs_of('README.txt', 3, 3..8)
110
+ #
111
+ def paragraphs_of(path, *paragraphs)
112
+ File.read(path).delete("\r").split(/\n\n+/).values_at(*paragraphs)
113
+ end
114
+
115
+ # Adds the given gem _name_ to the current project's dependency list. An
116
+ # optional gem _version_ can be given. If omitted, the newest gem version
117
+ # will be used.
118
+ #
119
+ def depend_on( name, version = nil )
120
+ spec = Gem.source_index.find_name(name).last
121
+ version = spec.version.to_s if version.nil? and !spec.nil?
122
+
123
+ PROJ.dependencies << (version.nil? ? [name] : [name, ">= #{version}"])
124
+ end
125
+
126
+ # Adds the given _path_ to the include path if it is not already there
127
+ #
128
+ def ensure_in_path( path )
129
+ path = File.expand_path(path)
130
+ $:.unshift(path) if test(?d, path) and not $:.include?(path)
131
+ end
132
+
133
+ # Find a rake task using the task name and remove any description text. This
134
+ # will prevent the task from being displayed in the list of available tasks.
135
+ #
136
+ def remove_desc_for_task( names )
137
+ Array(names).each do |task_name|
138
+ task = Rake.application.tasks.find {|t| t.name == task_name}
139
+ next if task.nil?
140
+ task.instance_variable_set :@comment, nil
141
+ end
142
+ end
143
+
144
+ # EOF
metadata CHANGED
@@ -1,59 +1,65 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.4
3
- specification_version: 1
4
2
  name: directory_watcher
5
3
  version: !ruby/object:Gem::Version
6
- version: 1.1.0
7
- date: 2007-11-28 00:00:00 -07:00
8
- summary: A class for watching files within a directory and generating events when those files change
9
- require_paths:
10
- - lib
11
- email: tim.pease@gmail.com
12
- homepage:
13
- rubyforge_project: codeforpeople
14
- description: The directory watcher operates by scanning a directory at some interval and generating a list of files based on a user supplied glob pattern. As the file list changes from one interval to the next, events are generated and dispatched to registered observers. Three types of events are supported -- added, modified, and removed.
15
- autorequire:
16
- default_executable:
17
- bindir: bin
18
- has_rdoc: true
19
- required_ruby_version: !ruby/object:Gem::Version::Requirement
20
- requirements:
21
- - - ">"
22
- - !ruby/object:Gem::Version
23
- version: 0.0.0
24
- version:
4
+ version: 1.1.1
25
5
  platform: ruby
26
- signing_key:
27
- cert_chain:
28
- post_install_message:
29
6
  authors:
30
7
  - Tim Pease
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-01-01 00:00:00 -07:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description: "== DESCRIPTION: The directory watcher operates by scanning a directory at some interval and generating a list of files based on a user supplied glob pattern. As the file list changes from one interval to the next, events are generated and dispatched to registered observers. Three types of events are supported -- added, modified, and removed."
17
+ email: tim.pease@gmail.com
18
+ executables: []
19
+
20
+ extensions: []
21
+
22
+ extra_rdoc_files:
23
+ - History.txt
24
+ - README.txt
31
25
  files:
26
+ - History.txt
32
27
  - Manifest.txt
33
- - Rakefile
34
28
  - README.txt
29
+ - Rakefile
35
30
  - lib/directory_watcher.rb
36
- test_files: []
37
-
31
+ - tasks/annotations.rake
32
+ - tasks/doc.rake
33
+ - tasks/gem.rake
34
+ - tasks/manifest.rake
35
+ - tasks/rubyforge.rake
36
+ - tasks/setup.rb
37
+ has_rdoc: true
38
+ homepage: http://codeforpeople.rubyforge.org/directory_watcher
39
+ post_install_message:
38
40
  rdoc_options:
39
41
  - --main
40
42
  - README.txt
41
- extra_rdoc_files:
42
- - Manifest.txt
43
- - README.txt
44
- executables: []
45
-
46
- extensions: []
47
-
43
+ require_paths:
44
+ - lib
45
+ required_ruby_version: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: "0"
50
+ version:
51
+ required_rubygems_version: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: "0"
56
+ version:
48
57
  requirements: []
49
58
 
50
- dependencies:
51
- - !ruby/object:Gem::Dependency
52
- name: hoe
53
- version_requirement:
54
- version_requirements: !ruby/object:Gem::Version::Requirement
55
- requirements:
56
- - - ">="
57
- - !ruby/object:Gem::Version
58
- version: 1.3.0
59
- version:
59
+ rubyforge_project: codeforpeople
60
+ rubygems_version: 1.0.1
61
+ signing_key:
62
+ specification_version: 2
63
+ summary: A class for watching files within a directory and generating events when those files change
64
+ test_files: []
65
+