Sha256: a1faad807b55052011289167401a3f8dfe0721fb314799210237d84d7f4fdcc0

Contents?: true

Size: 679 Bytes

Versions: 62

Compression:

Stored size: 679 Bytes

Contents

module Workarea
  class User
    class RecentPassword
      include ApplicationDocument
      include ActiveModel::SecurePassword

      field :password_digest, type: String
      belongs_to :user, class_name: 'Workarea::User', index: true
      has_secure_password validations: false

      scope :by_newest, -> { desc(:created_at) }

      def self.clean(user)
        limit = Workarea.config.password_history_length

        if user.recent_passwords.length > limit
          user
            .recent_passwords
            .by_newest
            .to_a
            .first(user.recent_passwords.length - limit)
            .each(&:delete)
        end
      end
    end
  end
end

Version data entries

62 entries across 62 versions & 1 rubygems

Version Path
workarea-core-3.5.27 app/models/workarea/user/recent_password.rb
workarea-core-3.5.26 app/models/workarea/user/recent_password.rb
workarea-core-3.4.45 app/models/workarea/user/recent_password.rb
workarea-core-3.5.25 app/models/workarea/user/recent_password.rb
workarea-core-3.5.23 app/models/workarea/user/recent_password.rb
workarea-core-3.4.44 app/models/workarea/user/recent_password.rb
workarea-core-3.5.22 app/models/workarea/user/recent_password.rb
workarea-core-3.4.43 app/models/workarea/user/recent_password.rb
workarea-core-3.5.21 app/models/workarea/user/recent_password.rb
workarea-core-3.4.42 app/models/workarea/user/recent_password.rb
workarea-core-3.5.20 app/models/workarea/user/recent_password.rb
workarea-core-3.4.41 app/models/workarea/user/recent_password.rb
workarea-core-3.5.19 app/models/workarea/user/recent_password.rb
workarea-core-3.4.40 app/models/workarea/user/recent_password.rb
workarea-core-3.5.18 app/models/workarea/user/recent_password.rb
workarea-core-3.4.39 app/models/workarea/user/recent_password.rb
workarea-core-3.5.17 app/models/workarea/user/recent_password.rb
workarea-core-3.4.38 app/models/workarea/user/recent_password.rb
workarea-core-3.5.16 app/models/workarea/user/recent_password.rb
workarea-core-3.4.37 app/models/workarea/user/recent_password.rb