# module ActiveLdap module AttributeMethods module Dirty extend ActiveSupport::Concern include ActiveModel::Dirty # Attempts to +save+ the record and clears changed attributes if successful. def save(*) #:nodoc: succeeded = super if succeeded changes_applied end succeeded end # Attempts to save! the record and clears changed attributes if successful. def save!(*) #:nodoc: super.tap do changes_applied end end # reload the record and clears changed attributes. def reload(*) #:nodoc: super.tap do clear_changes_information end end private def set_attribute(name, value) if name and name != "objectClass" attribute_will_change!(name) unless value == get_attribute(name) end super end end end end