# File lib/archivist/base.rb, line 17
      def has_archive(options={})
        options = DEFAULT_OPTIONS.merge(options)
        options[:allow_multiple_archives] = true if options[:associate_with_original]
        
        class_eval "alias_method :delete!, :delete\n\nclass << self\nalias_method :delete_all!, :delete_all\nend\n\ndef self.archive_indexes\n\#{Array(options[:indexes]).collect{|i| i.to_s}.inspect}\nend\n\ndef self.archive_options\n\#{options.inspect}\nend\n\ndef self.has_archive?\ntrue\nend\n\ndef self.acts_as_archive?\nwarn \"DEPRECATION WARNING: #acts_as_archive is provided for compatibility with AAA and will be removed soon, please use has_archive?\"\nhas_archive?\nend\n\nclass Archive < ActiveRecord::Base\nself.record_timestamps = false\nself.table_name = \"archived_\#{self.table_name}\"\n\#{build_serialization_strings(self.serialized_attributes)}\n\#{build_belongs_to_association(options[:associate_with_original])}\n\#{build_inclusion_strings(options[:included_modules])}\ninclude Archivist::ArchiveMethods\nend\n\n\#{build_has_many_association(options[:associate_with_original])}\n\n\#{build_copy_self_to_archive(options[:allow_multiple_archives])}\n"
        
        include InstanceMethods
        extend ClassExtensions
        include DB
      end