diff options
| author | Joe Carstairs <me@joeac.net> | 2026-01-09 18:13:36 +0000 |
|---|---|---|
| committer | Joe Carstairs <me@joeac.net> | 2026-01-17 09:39:15 +0000 |
| commit | 1056421dd45b7e9af6f63a95026cb069cfa34e29 (patch) | |
| tree | 38c8253a1c84cba3af1ff5bee9d2bd4e5cec8768 /schist_core/schist_models | |
| parent | 43e4dd1bd0258bfc5164ac8e0d83c12840f23719 (diff) | |
improves balance format/style
Diffstat (limited to 'schist_core/schist_models')
| -rw-r--r-- | schist_core/schist_models/src/bucket.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/schist_core/schist_models/src/bucket.rs b/schist_core/schist_models/src/bucket.rs index a28aa8f..67ed31e 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}; @@ -34,3 +36,14 @@ impl Bucket { .all(|t| t.bucket_id.is_none_or(|id| id != self.id)) } } + +impl Bucket { + 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})") + } + } +} |
