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.15 app/models/workarea/user/recent_password.rb
workarea-core-3.4.36 app/models/workarea/user/recent_password.rb
workarea-core-3.5.14 app/models/workarea/user/recent_password.rb
workarea-core-3.4.35 app/models/workarea/user/recent_password.rb
workarea-core-3.5.13 app/models/workarea/user/recent_password.rb
workarea-core-3.4.34 app/models/workarea/user/recent_password.rb
workarea-core-3.5.12 app/models/workarea/user/recent_password.rb
workarea-core-3.4.33 app/models/workarea/user/recent_password.rb
workarea-core-3.5.11 app/models/workarea/user/recent_password.rb
workarea-core-3.5.10 app/models/workarea/user/recent_password.rb
workarea-core-3.4.32 app/models/workarea/user/recent_password.rb
workarea-core-3.5.9 app/models/workarea/user/recent_password.rb
workarea-core-3.4.31 app/models/workarea/user/recent_password.rb
workarea-core-3.5.8 app/models/workarea/user/recent_password.rb
workarea-core-3.4.30 app/models/workarea/user/recent_password.rb
workarea-core-3.5.7 app/models/workarea/user/recent_password.rb
workarea-core-3.4.29 app/models/workarea/user/recent_password.rb
workarea-core-3.5.6 app/models/workarea/user/recent_password.rb
workarea-core-3.4.28 app/models/workarea/user/recent_password.rb
workarea-core-3.5.5 app/models/workarea/user/recent_password.rb