[ANN] directory_watcher 0.1.1

T

Tim Pease

A class for watching files within a directory and generating events
when those files change.

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.


Changes:

Version 0.1.1 / 2006-11-10
* removed explicit dependency on hoe

Version 0.1.0 / 2006-11-10
* initial release


TwP
 
K

Kenosis

Tim said:
A class for watching files within a directory and generating events
when those files change.

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.


Changes:

Version 0.1.1 / 2006-11-10
* removed explicit dependency on hoe

Version 0.1.0 / 2006-11-10
* initial release


TwP

And this would be available from where Tim?

Ken
 
T

Tim Pease

And this would be available from where Tim?

RubyForge

You can find it under the codeforpeople project. Or you can just
download it via gem ...

gem install -r directory_watcher


I really need to drink more coffee before I send out these announcements :/

TwP
 
E

Eric Hodel

RubyForge

You can find it under the codeforpeople project. Or you can just
download it via gem ...

gem install -r directory_watcher


I really need to drink more coffee before I send out these
announcements :/

Or just use Hoe and run rake release. Drops an email.txt ready for
pasting into your email client of choice.
 
J

Joel VanderWerf

Eric said:
On Nov 13, 2006, at 11:42 AM, Tim Pease wrote: ...

Or just use Hoe and run rake release. Drops an email.txt ready for
pasting into your email client of choice.

Are you saying rake release has the same effect as drinking coffee?

The feature I'm waiting for is "rake coffee": brews a cup of coffee
while hoe runs your entire project for you :)
 
E

Eric Hodel

Are you saying rake release has the same effect as drinking coffee?

Hoe is like coffee in that it prevents you from making the mistakes
that may result from insufficient caffeine levels.

More of a coffee substitute when releasing packages.
The feature I'm waiting for is "rake coffee": brews a cup of coffee
while hoe runs your entire project for you :)

Where is ruby-htcpcp?

(http://www.ietf.org/rfc/rfc2324.txt)
 
T

Tim Pease

What were the reasons for creating this, as opposed to an extension of Ara's
dirwatch? http://codeforpeople.com/lib/ruby/dirwatch/

dirwatch is very awesome code. It is a great ruby application that
"manages an sqlite database that mirrors the state of a directory and
then triggers user definable event handlers for certain filesystem
activities such file creation, modification, deletion, etc." It is
meant to be used as its own application.

directory_watcher, on the other hand, is a single ruby class that
sends event objects to other ruby classes when the contents of a
directory change. It is meant to be used within ruby scripts that need
to know about file events.

In summary
dirwatch --> awesome ruby application
directory_watcher --> awesome ruby class

Blessings,
TwP
 
T

Tim Pease

Or just use Hoe and run rake release. Drops an email.txt ready for
pasting into your email client of choice.

You're assuming that the developer who wrote the hoe-ified rakefile
remembered to include information about where to find the new release.
That was my error.

I have now modified my rakefile to include the following lines ...


task :checklist do
print "Did you double check the description? [y|N] "
response = gets
unless %r/y(es)?/i =~ response.strip
raise RuntimeError, "check the description"
end
print "Did you double check the version number? [y|N] "
unless %r/y(es)?/i =~ response.strip
raise RuntimeError, "check the version number"
end
print "Do people know where to download this file? [y|N] "
unless %r/y(es)?/i =~ response.strip
raise RuntimeError, "help out the end user"
end
print "Have you had enough coffe? [y|N] "
unless %r/y(es)?/i =~ response.strip
raise RuntimeError, "go to Peet's"
end
end

task :release => [:checklist]
 
A

ara.t.howard

Or just use Hoe and run rake release. Drops an email.txt ready for pasting
into your email client of choice.

okay - __that__ is cool!

can you specify stdout?

rake release |mail -s traits (e-mail address removed)

that would make those of us that are truely lazy release like wildfire.

-a
 
T

Tim Pease

Or just use Hoe and run rake release. Drops an email.txt ready for
pasting into your email client of choice.

$ rake --dry-run release
(in /home/tpease/work/ruby/turn)
** Invoke release (first_time)
** Invoke clean (first_time)
** Invoke clobber_docs (first_time)
** Execute (dry run) clobber_docs
** Invoke clobber_package (first_time)
** Execute (dry run) clobber_package
** Execute (dry run) clean
** Invoke package (first_time)
** Invoke pkg/turn-0.0.0.tgz (first_time)
** Invoke pkg/turn-0.0.0 (first_time)
** Invoke README.txt (first_time, not_needed)
** Invoke lib/turn.rb (first_time, not_needed)
** Execute (dry run) pkg/turn-0.0.0
** Invoke README.txt (not_needed)
** Invoke lib/turn.rb (not_needed)
** Execute (dry run) pkg/turn-0.0.0.tgz
** Invoke gem (first_time)
** Invoke pkg/turn-0.0.0.gem (first_time)
** Invoke pkg (first_time)
** Execute (dry run) pkg
** Invoke README.txt (not_needed)
** Invoke lib/turn.rb (not_needed)
** Execute (dry run) pkg/turn-0.0.0.gem
** Execute (dry run) gem
** Execute (dry run) package
** Execute (dry run) release


No dropping of email.txt :(

Need to use "rake email" :)
 
E

Eric Hodel

okay - __that__ is cool!

can you specify stdout?

rake release |mail -s traits (e-mail address removed)

No. Also, the first line of email.txt is the subject.
that would make those of us that are truely lazy release like
wildfire.

A send_email task wouldn't work cross-platform. Not everybody's
machines are correctly set up to send email.
 
A

ara.t.howard

No. Also, the first line of email.txt is the subject.


A send_email task wouldn't work cross-platform. Not everybody's machines are
correctly set up to send email.

sure, but

cmd = "rake release|mail -s #{ the_subject } (e-mail address removed)"

system cmd or warn "you system is wonky"

might be ok ;-)

-a
 
E

Eric Hodel

sure, but

cmd = "rake release|mail -s #{ the_subject } ruby-talk@ruby-
lang.org"

system cmd or warn "you system is wonky"

Well, it might just send mail into the bit-bucket:

$ mail (e-mail address removed)
Subject: test
test
EOT
$ echo $?
0
$ mail
Mail version 8.1 6/6/93. Type ? for help.
"/var/mail/drbrain": 1 message 1 new
N 1 MAILER-DAEMON@pride- Wed Nov 15 00:43 69/2492 "Undelivered
Mail Retu"
&
might be ok ;-)

If you can fix that, we await your patch at:

http://rubyforge.org/tracker/?func=add&group_id=1513&atid=5923

;)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top