summaryrefslogtreecommitdiff
path: root/src/works/mod.rs
diff options
context:
space:
mode:
authorWriterV2 <primary-v2@protonmail.com>2022-08-23 17:10:09 +0200
committerWriterV2 <primary-v2@protonmail.com>2022-08-23 17:10:09 +0200
commit5d6943eca8f60e5a7b1422f9c9be2ca93b52104f (patch)
tree2ce7b3ef1f93bdc2feb948795a2780e6401ddd73 /src/works/mod.rs
parent58f0228b4e769b39c330b0ed44deaa0fdaa669cf (diff)
Add Works trait & implement it for Stories
Diffstat (limited to 'src/works/mod.rs')
-rw-r--r--src/works/mod.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/works/mod.rs b/src/works/mod.rs
new file mode 100644
index 0000000..ab7bcf5
--- /dev/null
+++ b/src/works/mod.rs
@@ -0,0 +1,12 @@
+use serde::Deserialize;
+
+pub mod stories;
+
+pub trait Works: for<'a> Deserialize<'a> {
+ fn new_from_file(file: std::fs::File) -> Self {
+ match serde_json::from_reader(std::io::BufReader::new(file)) {
+ Ok(work) => work,
+ Err(err) => panic!("Trying to create work from JSON File - {:?}", err),
+ }
+ }
+}