diff options
| author | joeac <me@joeac.net> | 2026-01-17 17:17:50 +0000 |
|---|---|---|
| committer | joeac <me@joeac.net> | 2026-01-17 17:17:50 +0000 |
| commit | bf74f305894bde98033932235a4210c7d6865adf (patch) | |
| tree | 051422c97fcb5d7c2eafd426ea66e1a906948747 /schist_core/schist_models/src/bucket.rs | |
| parent | fe85652e4d3e8906824baddaafd05d19105579b8 (diff) | |
| parent | f69ec8416c4e6301dcfa06791b025785d7f61b6b (diff) | |
Merge pull request 'random-stuff' (#4) from random-stuff into main
Reviewed-on: https://git.joeac.net/joeac/schist/pulls/4
Diffstat (limited to 'schist_core/schist_models/src/bucket.rs')
| -rw-r--r-- | schist_core/schist_models/src/bucket.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/schist_core/schist_models/src/bucket.rs b/schist_core/schist_models/src/bucket.rs index a28aa8f..debbab7 100644 --- a/schist_core/schist_models/src/bucket.rs +++ b/schist_core/schist_models/src/bucket.rs @@ -1,3 +1,5 @@ +use std::ops::Div; + use derive_builder::Builder; use diesel::prelude::*; use serde::{Deserialize, Serialize}; @@ -33,4 +35,13 @@ impl Bucket { .iter() .all(|t| t.bucket_id.is_none_or(|id| id != self.id)) } + + pub fn pretty_balance_per_100(&self) -> String { + let abs_balance_per_100 = self.balance.unwrap_or(0).div(100).abs(); + if self.balance.is_none_or(|balance| balance >= 0) { + abs_balance_per_100.to_string() + } else { + format!("({abs_balance_per_100})") + } + } } |
