139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
|
# File 'lib/persistent_record.rb', line 139
def self.acts_as_persistent(options = {})
alias_method :default_destroy, :destroy
include PersistentRecord
class_attribute :record_deleted_at_column
self.record_deleted_at_column = options[:column] || :deleted_at
default_scope { where(record_deleted_at_column => nil) }
before_restore {
self.class.notify_observers(:before_restore, self) if self.class.respond_to?(:notify_observers)
}
after_restore {
self.class.notify_observers(:after_restore, self) if self.class.respond_to?(:notify_observers)
}
unless connection.column_exists?(table_name, record_deleted_at_column)
raise(ActiveModel::MissingAttributeError)
end
end
|