Crates.io | touch |
lib.rs | touch |
version | 0.0.1 |
source | src |
created_at | 2016-06-22 14:10:23.842044 |
updated_at | 2016-06-22 14:10:23.842044 |
description | A thin wrapper around file and directory operations designed to take remove some of tediousness. |
homepage | https://github.com/mattforni/touch |
repository | https://github.com/mattforni/touch |
max_upload_size | |
id | 5457 |
size | 18,838 |
Copyright 2016 Matthew Fornaciari mattforni@gmail.com A dead simple wrapper around file and directory manipulation.
This crate is on crates.io and can be
used by adding args
to the dependencies in your project's Cargo.toml
.
[dependencies]
touch = "0"
and this to your crate root:
extern crate touch;
extern crate touch;
use touch::exists;
use touch::dir;
use touch::file;
const DIR: &'static str = "/tmp/touch";
const FILE_NAME: &'static str = ".example";
fn main() {
assert!(!exists(DIR));
assert!(!exists(&path()));
// Write
let content = "Content";
assert!(file::write(&path(), content, false).is_ok());
// Read
let mut output = file::read(&path());
assert_eq!(content, output.unwrap());
// Overwrite
let new_content = "New Content";
assert!(file::write(&path(), new_content, true).is_ok());
output = file::read(&path());
assert_eq!(new_content, output.unwrap());
// Delete
assert!(dir::delete(DIR).is_ok());
assert!(!exists(&path()));
assert!(!exists(DIR));
}
fn path() -> String {
format!("{}/{}", DIR, FILE_NAME)
}