commitbot 0.6.2

A CLI assistant that generates commit and PR messages from your diffs using LLMs.
Documentation
diff --git a/app/models/concerns/soft_deletable.rb b/app/models/concerns/soft_deletable.rb
new file mode 100644
index 0000000..1234abc
--- /dev/null
+++ b/app/models/concerns/soft_deletable.rb
@@ -0,0 +1,28 @@
+module SoftDeletable
+  extend ActiveSupport::Concern
+
+  included do
+    default_scope { where(deleted_at: nil) }
+    scope :with_deleted, -> { unscope(where: :deleted_at) }
+    scope :only_deleted, -> { with_deleted.where.not(deleted_at: nil) }
+  end
+
+  def soft_delete
+    update(deleted_at: Time.current)
+  end
+
+  def restore
+    update(deleted_at: nil)
+  end
+
+  def deleted?
+    deleted_at.present?
+  end
+
+  def destroy
+    soft_delete
+  end
+
+  def really_destroy!
+    with_deleted { super }
+  end
+end