Sha256: b0a15b4144462528fe22b496d6d44e20a076ff568f174153d5acbe9986e0aa1f

Contents?: true

Size: 909 Bytes

Versions: 6

Compression:

Stored size: 909 Bytes

Contents

module Devise
  module Models
    module DatabaseAuthenticatablePatch
      def update_with_password(params, *options)
        current_password = params.delete(:current_password)

        new_password = params[:password]
        new_password_confirmation = params[:password_confirmation]

        result = if valid_password?(current_password) && new_password.present? && new_password_confirmation.present?
          update_attributes(params, *options)
        else
          self.assign_attributes(params, *options)
          self.valid?
          self.errors.add(:current_password, current_password.blank? ? :blank : :invalid)
          self.errors.add(:password, new_password.blank? ? :blank : :invalid)
          self.errors.add(:password_confirmation, new_password_confirmation.blank? ? :blank : :invalid)
          false
        end

        clean_up_passwords
        result
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
devise-security-0.12.0 lib/devise-security/models/database_authenticatable_patch.rb
devise-security-0.11.1 lib/devise-security/models/database_authenticatable_patch.rb
devise-security-0.11.0 lib/devise-security/models/database_authenticatable_patch.rb
devise_security_extension-0.10.0 lib/devise_security_extension/models/database_authenticatable_patch.rb
devise_security_extension-0.9.2 lib/devise_security_extension/models/database_authenticatable_patch.rb
devise_security_extension-0.9.1 lib/devise_security_extension/models/database_authenticatable_patch.rb