macro_rules! ron {
($data:ty, $dir:expr, $project_directory:expr, $sub_directories:expr, $file_name:expr) => { ... };
}Available on crate feature
ron only.Expand description
Implement the Ron trait
File extension is ron and is automatically appended.
§Input
These are the inputs you need to provide to implement Ron.
| Variable | Description | Related Trait Constant | Type | Example |
|---|---|---|---|---|
$data | Identifier of the data to implement for | struct or enum | MyState | |
$dir | Which OS directory to use | Ron::OS_DIRECTORY | Dir | Dir::Data |
$project_directory | The name of the top project folder | Ron::PROJECT_DIRECTORY | &str | "MyProject" |
$sub_directories | (Optional) sub-directories before file | Ron::SUB_DIRECTORIES | &str | "some/dirs" |
$file_name | The file name to use | Ron::FILE_NAME | &str | "state" |
§Example
use serde::{Serialize,Deserialize};
use disk::*;
ron!(State, Dir::Data, "MyProject", "some/dirs", "state");
#[derive(Serialize,Deserialize)]
struct State {
string: String,
number: u32,
}This example would be located at ~/.local/share/myproject/some/dirs/state.ron.