fwatch 0.1.3

A simple file watching crate
Documentation
# fwatch


fwatch is a file watching library written in Rust.

* [API Documentation]https://docs.rs/fwatch/
* Cargo package: [fwatch]https://crates.io/crates/fwatchs

---
## Installation


Add this to your `Cargo.toml':

```toml
[dependencies]
fwatch = "0.1.3"
```
## Basic Usage


The following example sets up a `Watcher` to observe any changes (called `Transition`'s in fwatch) to `foo.txt` and `bar.txt`.  The currently available transitions are `Created`, `Modified`, `Deleted`, and `None`.  

Instead of `BasicTarget`, any struct implementing the `Watchable` trait can be used below.  

```rust,ignore
use fwatch::{BasicTarget, Watcher, Transition};

fn main() {
    let mut watcher : Watcher<BasicTarget> = Watcher::new();

    // Add a couple of files to watch
    watcher.add_target(BasicTarget::new("foo.txt"));
    watcher.add_target(BasicTarget::new("bar.txt"));
    
    // Calling watcher.watch() returns a vector of Transitions, 
    // teling us if any of the watched files have undergone a
    // transition since the previous call to watcher.watch()
    for (index, transition) in watcher.watch().into_iter().enumerate() {
        // Get the path and state of the current target
        let path = watcher.get_path(index).unwrap();
        let state = watcher.get_state(index).uwnrap();

        // Do something based on the observed transition.
        match transition {
            Transition::Created => { 
            /* The watched file has been created */ 
            },
            Transition::Modified => { 
            /* The watched file has been modified */ 
            },
            Transition::Deleted => { 
            /* The watched file has been deleted */ 
            },
            Transition::None => { 
            /* None of the above transitions were observed */ 
            },
        }
    }
}
```

## License


This project is licensed under the Apache License, Version 2.0.