Sha256: e360d16e125e4bf26400f491bf2868fda3c964e76020976236ad5f3b94ab8227
Contents?: true
Size: 1.4 KB
Versions: 2
Compression:
Stored size: 1.4 KB
Contents
class User include Mongoid::Document include Mongoid::Timestamps::Created field :login field :email field :role field :age, type: Integer field :password, type: String field :provider_uid field :locale belongs_to :site, inverse_of: :users has_many :articles, foreign_key: :author_id, order: :title has_many :comments, dependent: :destroy, autosave: true has_and_belongs_to_many :children, class_name: "User" has_one :record, autobuild: true embeds_one :profile validates :login, presence: true, uniqueness: { scope: :site }, format: { with: /\A[\w\-]+\z/ }, exclusion: { in: ["super", "index", "edit"] } validates :email, uniqueness: { case_sensitive: false, scope: :site, message: "is already taken" }, confirmation: true validates :role, presence: true, inclusion: { in: ["admin", "moderator", "member"] } validates :profile, presence: true, associated: true validates :age, presence: true, numericality: true, inclusion: { in: 23..42 }, on: [:create, :update] validates :password, presence: true, on: [:create, :update] validates :password, exclusion: { in: ->(user) { ['password'] } } validates :password, confirmation: { message: "Password confirmation must match given password" } validates :provider_uid, presence: true validates :locale, inclusion: { in: ->(user) { [:en, :ru] } } accepts_nested_attributes_for :articles, :comments def admin? false end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
mongoid-rspec-3.0.0 | spec/models/user.rb |
mongoid-rspec-2.2.0 | spec/models/user.rb |