Sha256: 1327a967a4ca486c173cc88d930e55003b9614521fe3c48e20b833ddd0a82105

Contents?: true

Size: 716 Bytes

Versions: 8

Compression:

Stored size: 716 Bytes

Contents

module ActsAsArchive
  
  module Base
    def self.included(base)
      base.extend ActMethods
    end
  
    module ActMethods
      def acts_as_archive(options={})
        class_eval <<-end_eval
          
          def self.acts_as_archive?
            self.to_s == #{self.to_s.inspect}
          end
          
          def self.archive_indexes
            #{Array(options[:indexes]).collect(&:to_s).inspect}
          end
          
          class Archive < ActiveRecord::Base
            self.record_timestamps = false
            self.table_name = "archived_#{self.table_name}"
          end
        end_eval
        include Destroy
        include Restore
        include Table
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 3 rubygems

Version Path
micahwedemeyer-acts_as_archive-0.3.0 lib/acts_as_archive/base.rb
sideshowbandana-acts_as_archive-0.2.6 lib/acts_as_archive/base.rb
acts_as_archive-0.2.5 lib/acts_as_archive/base.rb
acts_as_archive-0.2.4 lib/acts_as_archive/base.rb
acts_as_archive-0.2.3 lib/acts_as_archive/base.rb
acts_as_archive-0.2.2 lib/acts_as_archive/base.rb
acts_as_archive-0.2.1 lib/acts_as_archive/base.rb
acts_as_archive-0.2.0 lib/acts_as_archive/base.rb