summaryrefslogtreecommitdiff
path: root/app/models/concerns/destroy_if_zero_quantity.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/concerns/destroy_if_zero_quantity.rb')
-rw-r--r--app/models/concerns/destroy_if_zero_quantity.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/app/models/concerns/destroy_if_zero_quantity.rb b/app/models/concerns/destroy_if_zero_quantity.rb
new file mode 100644
index 0000000..6fdfb3e
--- /dev/null
+++ b/app/models/concerns/destroy_if_zero_quantity.rb
@@ -0,0 +1,18 @@
+module DestroyIfZeroQuantity
+ extend ActiveSupport::Concern
+
+ included do
+ after_save :destroy_if_zero_quantity
+ end
+
+ private
+ def destroy_if_zero_quantity
+ byebug
+ if self.quantity == 0
+ destroy
+ elsif self.quantity < 0
+ # TODO: Can improve this (at the least, with reporting, later).
+ raise ItemQuantityError
+ end
+ end
+end