Sha256: 66d22595d8ab515697cccba6160bf827de788a684e92be223eb81c9c5bf8250f
Contents?: true
Size: 1.62 KB
Versions: 4
Compression:
Stored size: 1.62 KB
Contents
class User < ActiveRecord::Base # Use friendly_id on Users extend FriendlyId friendly_id :friendify, use: :slugged # necessary to override friendly_id reserved words def friendify if username.downcase == "admin" "user-#{username}" else "#{username}" end end BRICK_POSTS_RELATION # Include default devise modules. Others available are: # :confirmable, :lockable, :timeoutable and :omniauthable devise :database_authenticatable, BRICK_ALLOW_SIGNUP :recoverable, :rememberable, :trackable, :validatable, :confirmable # Pagination paginates_per 100 # Validations # :username validates :username, uniqueness: { case_sensitive: false } validates_format_of :username, with: /\A[a-zA-Z0-9]*\z/, on: :create, message: "can only contain letters and digits" validates :username, length: { in: 4..15 } # :email validates_format_of :email, with: /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i def self.paged(page_number) order(admin: :desc, username: :asc).page page_number end def self.search_and_order(search, page_number) if search where("username LIKE ?", "%#{search.downcase}%").order( admin: :desc, username: :asc ).page page_number else order(admin: :desc, username: :asc).page page_number end end def self.last_signups(count) order(created_at: :desc).limit(count).select("id","username","slug","created_at") end def self.last_signins(count) order(last_sign_in_at: :desc).limit(count).select("id","username","slug","last_sign_in_at") end def self.users_count where("admin = ? AND locked = ?",false,false).count end end
Version data entries
4 entries across 4 versions & 3 rubygems