summaryrefslogtreecommitdiff
path: root/schist_core
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2026-01-09 18:13:36 +0000
committerJoe Carstairs <me@joeac.net>2026-01-17 09:39:15 +0000
commit1056421dd45b7e9af6f63a95026cb069cfa34e29 (patch)
tree38c8253a1c84cba3af1ff5bee9d2bd4e5cec8768 /schist_core
parent43e4dd1bd0258bfc5164ac8e0d83c12840f23719 (diff)
improves balance format/style
Diffstat (limited to 'schist_core')
-rw-r--r--schist_core/schist_models/src/bucket.rs13
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})")
+ }
+ }
+}