Class: DirectoryWatcher::Event

### Home Classes Methods

### In Files

- lib/directory_watcher/event.rb

### Parent

Object

### Methods

- ::from_stats
- ::new
- #added?
- #modified?
- #removed?
- #stable?
- #to_s

### Files

- History.txt
- README.txt

### Class/Module Index

Quicksearch

- DirectoryWatcher
- DirectoryWatcher::Collector
- DirectoryWatcher::Configuration
- DirectoryWatcher::CoolioScanner
- DirectoryWatcher::EmScanner
- DirectoryWatcher::Event
- DirectoryWatcher::EventableScanner
- DirectoryWatcher::FileStat
- DirectoryWatcher::Logable
- DirectoryWatcher::Notifier
- DirectoryWatcher::NullLogger
- DirectoryWatcher::Paths
- DirectoryWatcher::RevScanner
- DirectoryWatcher::Scan
- DirectoryWatcher::ScanAndQueue
- DirectoryWatcher::Scanner
- DirectoryWatcher::Threaded
- DirectoryWatcher::Version
- Object

No matching classes.

# DirectoryWatcher::Event

An `Event` structure contains the type of the event and the file path to which the event pertains. The type can be one of the following:

    :added      =>  file has been added to the directory
    :modified   =>  file has been modified (either mtime or size or both
                    have changed)
    :removed    =>  file has been removed from the directory
    :stable     =>  file has stabilized since being added or modified

### Attributes

path[R]
stat[R]
type[R]

### Public Class Methods

from_stats( old_stat, new_stat ) click to toggle source

Create one of the 4 types of events given the two stats

The rules are:

    :added    => old_stat will be nil and new_stat will exist
    :removed  => old_stat will exist and new_stat will be nil
    :modified => old_stat != new_stat
    :stable   => old_stat == new_stat and

    # File lib/directory_watcher/event.rb, line 25
    def self.from_stats( old_stat, new_stat )
      if old_stat != new_stat then
        return DirectoryWatcher::Event.new( :removed,  new_stat.path           ) if new_stat.removed?
        return DirectoryWatcher::Event.new( :added,    new_stat.path, new_stat ) if old_stat.nil?
        return DirectoryWatcher::Event.new( :modified, new_stat.path, new_stat )
      else
        return DirectoryWatcher::Event.new( :stable, new_stat.path, new_stat   )
      end
    end

new( type, path, stat = nil ) click to toggle source

Create a new Event with one of the 4 types and the path of the file.

    # File lib/directory_watcher/event.rb, line 37
    def initialize( type, path, stat = nil )
      @type = type
      @path = path
      @stat = stat
    end

### Public Instance Methods

added?() click to toggle source

Is the event an added event.

    # File lib/directory_watcher/event.rb, line 51
    def added?
      type == :added
    end

modified?() click to toggle source

Is the event a modified event.

    # File lib/directory_watcher/event.rb, line 45
    def modified?
      type == :modified
    end

removed?() click to toggle source

Is the event a removed event.

    # File lib/directory_watcher/event.rb, line 57
    def removed?
      type == :removed
    end

stable?() click to toggle source

Is the event a stable event.

    # File lib/directory_watcher/event.rb, line 63
    def stable?
      type == :stable
    end

to_s( ) click to toggle source

Convert the Event to a nice string format

    # File lib/directory_watcher/event.rb, line 69
    def to_s( )
      "<#{self.class} type: #{type} path: '#{path}'>"
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.