Module: INotify

Defined in:
lib/vim_mate/plugins/inotify/lib/INotify.rb

Overview

Version 0.3.0 (2005-09-27) by James Le Cuirot <[email protected]> masks updated syscalls instead of /dev/inotify for linux-2.6.13 (are the archs correct?) start/stop methods added for threading ignore_dir_recursively method added Events class removed : not necessary (wd <=> dir) hashed both ways : needed for ignore default watch mask is IN_ALL_EVENTS UnsupportedPlatformError class added to deal with unsupported CPUs and OSes

Version 0.2.3 (2005-01-18) by oxman function ignore_dir : was added

Version 0.2.2 (2005-01-18) by oxman cleaning code (big thanks to gnome at #ruby-lang) rename next_event in each_event (thanks kig)

Version 0.2.1 (2005-01-18) by oxman class Events : use real mask

Version 0.2.0 (2005-01-18) by oxman function watch_dir : only watch function next_event : was added function watch_dir_recursively : was added

Version 0.1.1 (2005-01-17) by oxman Correct IN_ var for inotify 0.18

Defined Under Namespace

Classes: Event, INotify, Mask, UnsupportedPlatformError

Constant Summary collapse

Masks =
{
	:IN_ACCESS			=> Mask::new(0x00000001, 'access'),
	:IN_MODIFY			=> Mask::new(0x00000002, 'modify'),
	:IN_ATTRIB			=> Mask::new(0x00000004, 'attrib'),
	:IN_CLOSE_WRITE		=> Mask::new(0x00000008, 'close_write'),
	:IN_CLOSE_NOWRITE	=> Mask::new(0x00000010, 'close_nowrite'),
	:IN_OPEN			=> Mask::new(0x00000020, 'open'),
	:IN_MOVED_FROM		=> Mask::new(0x00000040, 'moved_from'),
	:IN_MOVED_TO		=> Mask::new(0x00000080, 'moved_to'),
	:IN_CREATE			=> Mask::new(0x00000100, 'create'),
	:IN_DELETE			=> Mask::new(0x00000200, 'delete'),
	:IN_DELETE_SELF		=> Mask::new(0x00000400, 'delete_self'),
	:IN_UNMOUNT			=> Mask::new(0x00002000, 'unmount'),
	:IN_Q_OVERFLOW		=> Mask::new(0x00004000, 'q_overflow'),
	:IN_IGNORED			=> Mask::new(0x00008000, 'ignored'),
}
OrMasks =
{
	:IN_CLOSE		=> Mask::new(IN_CLOSE_WRITE.value | IN_CLOSE_NOWRITE.value, 'close'),
	:IN_MOVE		=> Mask::new(IN_MOVED_FROM.value | IN_MOVED_TO.value, 'moved'),
	:IN_ALL_EVENTS	=> Mask::new(IN_ACCESS.value | IN_MODIFY.value | IN_ATTRIB.value | IN_CLOSE_WRITE.value | IN_CLOSE_NOWRITE.value | IN_OPEN.value | IN_MOVED_FROM.value | IN_MOVED_TO.value | IN_DELETE.value | IN_CREATE.value | IN_DELETE_SELF.value, 'all_events')
}
AllMasks =
Masks.merge OrMasks