diff options
Diffstat (limited to 'app/models/character_item.rb')
-rw-r--r-- | app/models/character_item.rb | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/app/models/character_item.rb b/app/models/character_item.rb index b54f799..6ee13ab 100644 --- a/app/models/character_item.rb +++ b/app/models/character_item.rb @@ -1,4 +1,6 @@ class CharacterItem < ApplicationRecord + include DestroyIfZeroQuantity + belongs_to :character belongs_to :item validates :quantity, presence: true @@ -9,17 +11,5 @@ class CharacterItem < ApplicationRecord end end - after_save :destroy_if_zero_quantity - scope :ordered_by_item_name, -> { includes(:item).order("items.name") } - - private - def destroy_if_zero_quantity - if self.quantity == 0 - destroy - elsif self.quantity < 0 - # TODO: Can improve this (at the least, with reporting, later). - raise ItemQuantityError - end - end end |