From f53951a43c887963605b52b30237b8aa61aa7c09 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Sat, 2 Jan 2021 16:10:12 +0100 Subject: Replace implementation of getters with getset::Getters Signed-off-by: Matthias Beyer --- Cargo.lock | 37 +++++++++++++++++++++++++++++++++++++ Cargo.toml | 1 + src/config.rs | 43 +++++++++++++++---------------------------- src/main.rs | 1 + 4 files changed, 54 insertions(+), 28 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ab238b5..727385c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -87,6 +87,7 @@ dependencies = [ "clap", "dimensioned", "error-chain", + "getset", "log 0.4.11", "regex", "rocket", @@ -412,6 +413,18 @@ dependencies = [ "wasi 0.9.0+wasi-snapshot-preview1", ] +[[package]] +name = "getset" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24b328c01a4d71d2d8173daa93562a73ab0fe85616876f02500f53d82948c504" +dependencies = [ + "proc-macro-error", + "proc-macro2 1.0.24", + "quote 1.0.8", + "syn 1.0.57", +] + [[package]] name = "ghash" version = "0.2.3" @@ -801,6 +814,30 @@ version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2 1.0.24", + "quote 1.0.8", + "syn 1.0.57", + "version_check 0.9.2", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2 1.0.24", + "quote 1.0.8", + "version_check 0.9.2", +] + [[package]] name = "proc-macro2" version = "0.4.30" diff --git a/Cargo.toml b/Cargo.toml index 6554e12..8e1693b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,6 +16,7 @@ serde_derive = "1" serde_json = "1" simplelog = "^0.4.3" toml = "^0.5" +getset = "0.1" [dependencies.chrono] features = [ "serde" ] diff --git a/src/config.rs b/src/config.rs index 9441973..c2aa960 100644 --- a/src/config.rs +++ b/src/config.rs @@ -6,6 +6,7 @@ extern crate toml; use std::path::PathBuf; use regex::Regex; use error::*; +use getset::Getters; //------------------------------------// // structs for deserialization // @@ -56,11 +57,21 @@ impl ConfigDeser { /// The deserialized Item would nearly always require some operation on its /// contents to use it, so we do those operations beforehand and only access /// the useful data from main(). +#[derive(Getters)] pub struct LogItem { + #[getset(get = "pub")] file : String, + + #[getset(get = "pub")] regex : Regex, + + #[getset(get = "pub")] alias : String, + + #[getset(get = "pub")] capture_names : Vec, + + #[getset(get = "pub")] aliases : Vec, } @@ -105,31 +116,15 @@ impl LogItem { } ) } - - pub fn file(&self) -> &String { - &self.file - } - - pub fn regex(&self) -> &Regex { - &self.regex - } - - pub fn alias(&self) -> &String { - &self.alias - } - - pub fn capture_names(&self) -> &Vec { - &self.capture_names - } - - pub fn aliases(&self) -> &Vec { - &self.aliases - } } /// Contains more immediately usable data +#[derive(Getters)] pub struct Config { + #[getset(get = "pub")] items : Vec, + + #[getset(get = "pub")] all_aliases : Vec, } @@ -155,13 +150,5 @@ impl Config { Ok(Config { items: l_items, all_aliases : all_als }) } - - pub fn items(&self) -> &Vec { - &self.items - } - - pub fn all_aliases(&self) -> &Vec { - &self.all_aliases - } } diff --git a/src/main.rs b/src/main.rs index 6b3c2d6..3eb81f9 100644 --- a/src/main.rs +++ b/src/main.rs @@ -18,6 +18,7 @@ extern crate serde; extern crate serde_derive; extern crate serde_json; extern crate simplelog; +extern crate getset; use std::collections::HashMap; use std::fs::File; -- cgit v1.2.3