Sha256: b40c14b64691295c5739832dcbec3af653820dc756ac2616922c365d078e7389
Contents?: true
Size: 823 Bytes
Versions: 1
Compression:
Stored size: 823 Bytes
Contents
require 'active_support/concern' module DovecotCramMD5Password extend ActiveSupport::Concern included do validates :password_unencrypted, length: { minimum: 5 }, allow_blank: true validates_confirmation_of :password_unencrypted, allow_blank: true validate do |record| record.errors.add(:password_unencrypted, :blank) unless record.password.present? end attr_reader :password_unencrypted end def password_unencrypted=(unencrypted_password) if unencrypted_password.nil? self.password = nil elsif !unencrypted_password.empty? @password_unencrypted = unencrypted_password self.password = DovecotCrammd5.calc(unencrypted_password) end end def authenticate(unencrypted_password) password == DovecotCrammd5.calc(unencrypted_password) && self end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
postfix_admin-0.3.0 | lib/postfix_admin/concerns/dovecot_cram_md5_password.rb |