module Discard::Model
def _raise_record_not_discarded
def _raise_record_not_discarded raise ::Discard::RecordNotDiscarded.new(discarded_fail_message, self) end
def _raise_record_not_undiscarded
def _raise_record_not_undiscarded raise ::Discard::RecordNotUndiscarded.new(undiscarded_fail_message, self) end
def discard
-
(Boolean)
- true if successful, otherwise false
def discard return false if discarded? run_callbacks(:discard) do update_attribute(self.class.discard_column, Time.current) end end
def discard!
-
(Discard::RecordNotDiscarded)
-
Returns:
-
(Boolean)
- true if successful
def discard! discard || _raise_record_not_discarded end
def discarded?
-
(Boolean)
- true if this record has been discarded, otherwise false
def discarded? self[self.class.discard_column].present? end
def discarded_fail_message
def discarded_fail_message return "A discarded record cannot be discarded" if discarded? "Failed to discard the record" end
def undiscard
-
(Boolean)
- true if successful, otherwise false
def undiscard return false unless discarded? run_callbacks(:undiscard) do update_attribute(self.class.discard_column, nil) end end
def undiscard!
-
(Discard::RecordNotUndiscarded)
-
Returns:
-
(Boolean)
- true if successful
def undiscard! undiscard || _raise_record_not_undiscarded end
def undiscarded?
-
(Boolean)
- false if this record has been discarded, otherwise true
def undiscarded? !discarded? end
def undiscarded_fail_message
def undiscarded_fail_message return "An undiscarded record cannot be undiscarded" if undiscarded? "Failed to undiscard the record" end