Ruby gem to watch file

is there any gem that will watch for a file and if the file exists, or
changes, can trigger process or event. i am looking for something on
the windows platform only.
appreciate any help.

On Sep 20, 2008, at 7:17 PM, Junkone wrote:

is there any gem that will watch for a file and if the file exists, or
changes, can trigger process or event. i am looking for something on
the windows platform only.
appreciate any help.

Take a look at directory_watcher. It works on all platforms.

http://codeforpeople.rubyforge.org/directory_watcher/

Blessings,
TwP

On Sep 20, 11:15 pm, Tim P. [email protected] wrote:

Blessings,
TwP

i tried as you suggested and have a few q.
i am trying to run a ruby prog to execute if there is any new file in
a directory. i started out with the examples but am a little confused
on how to useit.
this prog seems to be looking at the current directory where it is
running and not where i had specificed it to watch with dw.glob.

appreciate any help.

seede

require ‘directory_watcher’
dw = DirectoryWatcher.new ‘.’, :pre_load => true
dw.glob = “c:\temp\scans\” # is the directory i want to watch.
dw.add_observer {|*args| args.each {|event| puts event}}
dw.start
gets
dw.stop

Junkone wrote:

On Sep 20, 11:15�pm, Tim P. [email protected] wrote:

Blessings,
TwP

i tried as you suggested and have a few q.
i am trying to run a ruby prog to execute if there is any new file in
a directory. i started out with the examples but am a little confused
on how to useit.
this prog seems to be looking at the current directory where it is
running and not where i had specificed it to watch with dw.glob.

appreciate any help.

seede

(…)
Hm, I can’t get it to work either (on WinXP).

require ‘directory_watcher’
dw = DirectoryWatcher.new ‘D:/temp/’
dw.interval=5
dw.add_observer {|*args| args.each {|event| puts event}}
dw.start
gets
dw.stop

It does display the files (“added ‘D:/temp/Pink_Pajamas.amv’” etc), but
after that you can delete, add and edit files without directory_watcher
noticing anything. Is it broken on windows or am I doing something
wrong?

Regards,

Siep

On Sep 22, 2008, at 4:36 PM, Siep K. wrote:

this prog seems to be looking at the current directory where it is
dw = DirectoryWatcher.new ‘D:/temp/’
noticing anything. Is it broken on windows or am I doing something
wrong?

The whole program is blocking on the “gets”.

On the windows platform, all threads block when reading from standard
input. So the “gets” is causing all threads to wait including the
directory watcher thread.

Try replacing the “gets” with a “sleep 30” or some other time interval.

Blessings,
TwP