def create_revision!
      revision_options = self.class.acts_as_revisionable_options
      revision = revision_record_class.new(self, revision_options[:encoding])
      if revision_options[:meta].is_a?(Hash)
        revision_options[:meta].each do |attribute, value|
          set_revision_meta_attribute(revision, attribute, value)
        end
      elsif revision_options[:meta].is_a?(Array)
        revision_options[:meta].each do |attribute|
          set_revision_meta_attribute(revision, attribute, attribute.to_sym)
        end
      elsif revision_options[:meta]
        set_revision_meta_attribute(revision, revision_options[:meta], revision_options[:meta].to_sym)
      end
      revision.save!
      return revision
    end
def create_revision!
      revision_options = self.class.acts_as_revisionable_options
      revision = revision_record_class.new(self, revision_options[:encoding])
      if revision_options[:meta].is_a?(Hash)
        revision_options[:meta].each do |attribute, value|
          set_revision_meta_attribute(revision, attribute, value)
        end
      elsif revision_options[:meta].is_a?(Array)
        revision_options[:meta].each do |attribute|
          set_revision_meta_attribute(revision, attribute, attribute.to_sym)
        end
      elsif revision_options[:meta]
        set_revision_meta_attribute(revision, revision_options[:meta], revision_options[:meta].to_sym)
      end
      revision.save!
      return revision
    end
Create a revision record based on this record and save it to the database.