I just downloaded and installed the win32utils installer. When I try to
run the sample script provide in changenotify.txt
require “win32/changenotify”
include Win32
Wait for any writes to files in the C:\ drive.
filter = ChangeNotify::LAST_WRITE
cn = ChangeNotify.new(“C:\”,true,filter)
cn.wait{ |s|
puts “Something changed”
puts "File: " + s.file_name
puts "Action: " + s.action
}
I get the following error.
:/ruby/lib/ruby/site_ruby/1.8/i386-msvcrt/win32/ipc.so: invalid
attribute name recursive?' (NameError) from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
require’
from cjsample.rb:1
What am I doing wrong?
thanks,
Luis
[email protected] wrote:
puts “Something changed”
`require’
from cjsample.rb:1
What am I doing wrong?
You’ll need to upgrade to 0.4.2. You can either build from source or
download the .so file directly, rename it to “changenotify.so”, and
install it under c:\ruby\lib\ruby\1.8\i386-mswin32\win32.
The .zip file is at
http://rubyforge.org/frs/download.php/14978/win32-changenotify-0.4.2.zip
The .so file is at
http://rubyforge.org/frs/download.php/14979/changenotify-0.4.2.so
Regards,
Dan
[email protected] wrote:
cn = ChangeNotify.new(“C:\”,true,filter)
attribute name `recursive?’ (NameError)
http://rubyforge.org/frs/download.php/14978/win32-changenotify-0.4.2.zip
The .so file is at
http://rubyforge.org/frs/download.php/14979/changenotify-0.4.2.so
Regards,
Dan
I downloaded the file and renamed it according to your instructions but
I am still getting the same error.
Whoops. Download the latest win32-ipc and build from source or install
the .so file in the same directory as before.
Source file:
http://rubyforge.org/frs/download.php/2757/win32-ipc-0.4.1.zip
Shared object:
http://rubyforge.org/frs/download.php/4586/ipc.so
Regards,
Dan
I downloaded the file and renamed it according to your instructions but
I am still getting the same error.
Luis
[email protected] wrote:
Thanks,
I acutally found out that I had 2 copies of changenotify.so in the ruby
folder. After deleting the older one it is working.
It works but it exits after a file change. Is it possible to
continuously monitor the folder?
Sure thing:
cn.wait{ |s|
puts “Something changed”
puts "File: " + s.file_name
puts "Action: " + s.action
} while true
Regards,
Dan
Thanks,
I acutally found out that I had 2 copies of changenotify.so in the ruby
folder. After deleting the older one it is working.
It works but it exits after a file change. Is it possible to
continuously monitor the folder?
thanks
Luis
[email protected] wrote:
Thanks for the help. I am still getting the following error when a file
event occurs.
Something changed
win32change.rb:11: undefined method file_name' for #<Array:0x2cab5c8> (NoMethodError) from win32change.rb:9:in
wait’
from win32change.rb:9
Try this one:
cn.wait{ |arr|
arr.each{ |info|
p info.file_name
p info.action
}
} while true
Regards,
Dan
Thanks for the help. I am still getting the following error when a file
event occurs.
Something changed
win32change.rb:11: undefined method file_name' for #<Array:0x2cab5c8> (NoMethodError) from win32change.rb:9:in
wait’
from win32change.rb:9
Here’s the script I am using.
Luis
From Daniel B. [mailto:[email protected]]
Try this one:
cn.wait{ |arr|
arr.each{ |info|
p info.file_name
p info.action
}
} while true
Regards,
that works for me.
btw, Daniel, would you know how to monitor file/dir changes in usbs? I
have no idea yet since usbs are dynamic (now you see them, now you
dont).
kind regards -botp
Dan