Sha256: 43718f845a7ae871132f0b9452a092da5e1df768da0b4598d7fcd384a63b690d
Contents?: true
Size: 908 Bytes
Versions: 2
Compression:
Stored size: 908 Bytes
Contents
module Elabs class User < ApplicationRecord self.table_name = 'users' validates :username, presence: true, uniqueness: true validates :role, presence: false # Username should: # - not start with '-', '_' or '.' # - contain only a to z characters (upper/lower cased), numbers, '.', '-' or '_' # - not contain successive '.', '-' or '_' validates_format_of :username, with: /\A(?![_.-])(?!.*[_.]{2})[a-zA-Z0-9._-]+[^_\-.]\z/ has_many :albums, dependent: :destroy has_many :articles, dependent: :destroy has_many :notes, dependent: :destroy has_many :projects, dependent: :destroy has_many :uploads, dependent: :destroy has_many :reports, dependent: :destroy has_one :preference, dependent: :delete def admin? role == 'admin' end after_create do Preference.create! user: self, show_nsfw: false end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
elabs-2.0.0 | app/models/elabs/user.rb |
elabs-2.0.0.pre | app/models/elabs/user.rb |