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.4.27 app/models/workarea/user/recent_password.rb
workarea-core-3.5.4 app/models/workarea/user/recent_password.rb
workarea-core-3.4.26 app/models/workarea/user/recent_password.rb
workarea-core-3.5.3 app/models/workarea/user/recent_password.rb
workarea-core-3.4.25 app/models/workarea/user/recent_password.rb
workarea-core-3.5.2 app/models/workarea/user/recent_password.rb
workarea-core-3.4.24 app/models/workarea/user/recent_password.rb
workarea-core-3.5.1 app/models/workarea/user/recent_password.rb
workarea-core-3.4.23 app/models/workarea/user/recent_password.rb
workarea-core-3.4.22 app/models/workarea/user/recent_password.rb
workarea-core-3.5.0 app/models/workarea/user/recent_password.rb
workarea-core-3.4.21 app/models/workarea/user/recent_password.rb
workarea-core-3.5.0.beta.1 app/models/workarea/user/recent_password.rb
workarea-core-3.4.20 app/models/workarea/user/recent_password.rb
workarea-core-3.4.19 app/models/workarea/user/recent_password.rb
workarea-core-3.4.18 app/models/workarea/user/recent_password.rb
workarea-core-3.4.17 app/models/workarea/user/recent_password.rb
workarea-core-3.4.16 app/models/workarea/user/recent_password.rb
workarea-core-3.4.15 app/models/workarea/user/recent_password.rb
workarea-core-3.4.14 app/models/workarea/user/recent_password.rb