Sha256: 605d6dd0c6fe7a1fdcbb090b4f2cf5d9046f0abfc9cece5d90d18080ac3b48f0

Contents?: true

Size: 929 Bytes

Versions: 7

Compression:

Stored size: 929 Bytes

Contents

# frozen_string_literal: true

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(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

7 entries across 7 versions & 1 rubygems

Version Path
devise-security-0.16.0 lib/devise-security/models/database_authenticatable_patch.rb
devise-security-0.15.0 lib/devise-security/models/database_authenticatable_patch.rb
devise-security-0.14.3 lib/devise-security/models/database_authenticatable_patch.rb
devise-security-0.14.2 lib/devise-security/models/database_authenticatable_patch.rb
devise-security-0.14.1 lib/devise-security/models/database_authenticatable_patch.rb
devise-security-0.14.0 lib/devise-security/models/database_authenticatable_patch.rb
devise-security-0.14.0.rc1 lib/devise-security/models/database_authenticatable_patch.rb