def revise options={}
      return save if new_record?

      return false if performing_validations?(options) && invalid?(:update)
      process_flagged_destroys
      result = run_callbacks(:revise) do
        run_callbacks(:save) do
          run_callbacks(:update) do
            _revise
            true
          end
        end
      end
      post_process_persist(result, options) and self
    end
def revise options={}
      return save if new_record?

      return false if performing_validations?(options) && invalid?(:update)
      process_flagged_destroys
      result = run_callbacks(:revise) do
        run_callbacks(:save) do
          run_callbacks(:update) do
            _revise
            true
          end
        end
      end
      post_process_persist(result, options) and self
    end
=====================================================================