Sha256: 3f5c5c972937e4dc09e7a9479e550f314c22e1d7b68d4aa375777c594b99bf1d

Contents?: true

Size: 1.09 KB

Versions: 11

Compression:

Stored size: 1.09 KB

Contents

module Challah::User
  module Password
    # Set the password and password_confirmation in one shortcut method.
    def password!(new_password)
      self.password = new_password
      self.password_confirmation = new_password
    end

    def password_provider?
      return true if @password_updated or @username_updated
      !!providers[:password]
    end

    def password_provider
      providers[:password] || Hash.new
    end

    # Set a password for this user
    def password=(value)
      if value.to_s.blank?
        @password = nil
        @password_updated = false
      else
        @password = value
        @password_updated = true
      end
    end

    # Set the confirmation when changing a password
    def password_confirmation=(value)
      @password_confirmation = value
    end

    # Was the password updated
    def password_changed?
      !!@password
    end

    def username
      @username ||= password_provider? ? password_provider.fetch(:uid, '') : ''
    end

    def username=(value)
      @username_updated = true
      @username = value.to_s.strip.downcase
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
challah-1.1.1 lib/challah/user/password.rb
challah-1.1.0 lib/challah/user/password.rb
challah-1.0.0 lib/challah/user/password.rb
challah-1.0.0.beta3 lib/challah/user/password.rb
challah-1.0.0.beta2 lib/challah/user/password.rb
challah-1.0.0.beta lib/challah/user/password.rb
challah-0.9.1.beta.3 lib/challah/user/password.rb
challah-0.9.1.beta.2 lib/challah/user/password.rb
challah-0.9.1.beta lib/challah/user/password.rb
challah-0.9.0 lib/challah/user/password.rb
challah-0.9.0.pre lib/challah/user/password.rb