Sha256: 217f22405fac8367b9fd464ef4f7dd4468c582bdd7f58200ee5e4c9198217b0a

Contents?: true

Size: 841 Bytes

Versions: 29

Compression:

Stored size: 841 Bytes

Contents

module Workarea
  class User
    class PasswordReset
      include ApplicationDocument
      include UrlToken

      belongs_to :user, class_name: 'Workarea::User'

      index(
        { created_at: 1 },
        { expire_after_seconds: Workarea.config.password_reset_timeout }
      )

      def self.setup!(email)
        user = User.find_by_email(email)
        return nil unless user
        create!(user: user)
      end

      def complete(new_password)
        if new_password.blank?
          errors.add(:password, I18n.t('errors.messages.blank'))
          return false
        end

        if user.update_attributes(password: new_password)
          destroy
        else
          user.errors.each do |attribute, error|
            errors.add(attribute, error)
          end
          false
        end
      end
    end
  end
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
workarea-core-3.5.8 app/models/workarea/user/password_reset.rb
workarea-core-3.4.30 app/models/workarea/user/password_reset.rb
workarea-core-3.5.7 app/models/workarea/user/password_reset.rb
workarea-core-3.4.29 app/models/workarea/user/password_reset.rb
workarea-core-3.5.6 app/models/workarea/user/password_reset.rb
workarea-core-3.4.28 app/models/workarea/user/password_reset.rb
workarea-core-3.5.5 app/models/workarea/user/password_reset.rb
workarea-core-3.4.27 app/models/workarea/user/password_reset.rb
workarea-core-3.5.4 app/models/workarea/user/password_reset.rb
workarea-core-3.4.26 app/models/workarea/user/password_reset.rb
workarea-core-3.5.3 app/models/workarea/user/password_reset.rb
workarea-core-3.4.25 app/models/workarea/user/password_reset.rb
workarea-core-3.5.2 app/models/workarea/user/password_reset.rb
workarea-core-3.4.24 app/models/workarea/user/password_reset.rb
workarea-core-3.5.1 app/models/workarea/user/password_reset.rb
workarea-core-3.4.23 app/models/workarea/user/password_reset.rb
workarea-core-3.4.22 app/models/workarea/user/password_reset.rb
workarea-core-3.5.0 app/models/workarea/user/password_reset.rb
workarea-core-3.4.21 app/models/workarea/user/password_reset.rb
workarea-core-3.5.0.beta.1 app/models/workarea/user/password_reset.rb