Sha256: c431d1a0139df91660682b86d0c05a0819fabe1b9f14b0d6d4dc41681f65691f

Contents?: true

Size: 911 Bytes

Versions: 3

Compression:

Stored size: 911 Bytes

Contents

class Account
  include Mongoid::Document

  field :_id, type: String, default: ->{ name.try(:parameterize) }

  field :number, type: String
  field :balance, type: String
  field :nickname, type: String
  field :name, type: String
  field :balanced, type: Boolean, default: ->{ balance? ? true : false }

  field :overridden, type: String

  embeds_many :memberships
  belongs_to :creator, class_name: "User", foreign_key: :creator_id
  belongs_to :person
  has_many :alerts, autosave: false
  has_and_belongs_to_many :agents
  has_one :comment, validate: false

  attr_accessible :nickname, as: [ :default, :admin ]
  attr_accessible :name, as: [ :default, :admin ]
  attr_accessible :balance, as: :default

  validates_presence_of :name
  validates_presence_of :nickname, on: :upsert
  validates_length_of :name, maximum: 10, on: :create

  def overridden
    self[:overridden] = "not recommended"
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
mongoid-3.1.7 spec/app/models/account.rb
mongoid-3.1.6 spec/app/models/account.rb
mongoid-3.1.5 spec/app/models/account.rb