Permalink
Browse files

Merge pull request #25 from erichmenge/patch/use_update_column_if_ava…

…ilable

Update_attribute is gone in Rails 4, add update_column support.
  • Loading branch information...
2 parents fa4d9c9 + 143f984 commit ef8b1f4b7f3e96e987ec00894d55a7f110b036d4 @radar radar committed Jun 26, 2012
Showing with 11 additions and 4 deletions.
  1. +11 −4 lib/paranoia.rb
View
@@ -17,19 +17,26 @@ def destroy
_run_destroy_callbacks { delete }
end
- def delete
- self.update_attribute(:deleted_at, Time.now) if !deleted? && persisted?
+ def delete
+ update_attribute_or_column(:deleted_at, Time.now) if !deleted? && persisted?
freeze
end
-
+
def restore!
- update_attribute :deleted_at, nil
+ update_attribute_or_column :deleted_at, nil
end
def destroyed?
!self.deleted_at.nil?
end
alias :deleted? :destroyed?
+
+ private
+
+ # Rails 3.1 adds update_column. Rails > 3.2.6 deprecates update_attribute, gone in Rails 4.
+ def update_attribute_or_column(*args)
+ respond_to?(:update_column) ? update_column(*args) : update_attribute(*args)
+ end
end
class ActiveRecord::Base

0 comments on commit ef8b1f4

Please sign in to comment.