Sha256: f3dab17d131185f7f1149f6e852a4860ddb9c75e54e75a38f931e64c79448bfb

Contents?: true

Size: 605 Bytes

Versions: 25

Compression:

Stored size: 605 Bytes

Contents

module Spina
  class User < ActiveRecord::Base
    has_secure_password

    validates_presence_of :name, :email
    validates_presence_of :password, on: :create
    validate :uniqueness_of_email
    validates :email, format: { with:/\A[^@]+@[^@]+\z/ }

    def admin?
      admin
    end

    def to_s
      name
    end

    def update_last_logged_in!
      self.last_logged_in = Time.now
      self.save!
    end

    private

    def uniqueness_of_email
      if email_changed? && User.where(email: email).exists?
        errors.add(:email, I18n.t('errors.messages.taken'))
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
spina-0.9.0 app/models/spina/user.rb
spina-0.8.3 app/models/spina/user.rb
spina-0.8.2 app/models/spina/user.rb
spina-0.8.1 app/models/spina/user.rb
spina-0.8.0 app/models/spina/user.rb
spina-0.7.3 app/models/spina/user.rb
spina-0.7.2 app/models/spina/user.rb
spina-0.7.0 app/models/spina/user.rb
spina-0.6.29 app/models/spina/user.rb
spina-0.6.28 app/models/spina/user.rb
spina-0.6.27 app/models/spina/user.rb
spina-0.6.26 app/models/spina/user.rb
spina-0.6.25 app/models/spina/user.rb
spina-0.6.24 app/models/spina/user.rb
spina-0.6.23 app/models/spina/user.rb
spina-0.6.22 app/models/spina/user.rb
spina-0.6.21 app/models/spina/user.rb
spina-0.6.20 app/models/spina/user.rb
spina-0.6.19 app/models/spina/user.rb
spina-0.6.18 app/models/spina/user.rb