module HasArchive
Constants
- VERSION
Public Class Methods
included(base)
click to toggle source
# File lib/has_archive.rb, line 6 def self.included(base) base.send :extend, ClassMethods base.send :include, InstanceMethods eval <<-RUBY class #{base}::Archive < #{base} self.table_name = "#{base.to_s.underscore}_archives" def destroy(*args, **kwargs) super(for_real: true) end def restore attrs = self.attributes attrs.delete('archived_at') restored = self.class.parent.new(attrs) restored.save && self.destroy(for_real: true) self end end RUBY end