Sha256: 49e7191110b9c949242645a7b8b729bccb1b559535f88b37e60c5681e3956da0

Contents?: true

Size: 781 Bytes

Versions: 13

Compression:

Stored size: 781 Bytes

Contents

class Page
  include Mongoid::Document
  include Mongoid::Timestamps
  #include Mongoid::History::Trackable
  include Mongoid::Slug
  include ActiveModel::MassAssignmentSecurity
  
  include StateMachines::Page
  
  field :user_id, type: Integer
  field :name, type: String
  field :text, type: String
  field :state, type: String
  
  index({ name: 1 }, { unique: true })
  
  attr_accessible :name, :text
  
  scope :active, -> { where(state: 'active') }
  
  validates :user_id, presence: true
  validates :name, presence: true, uniqueness: true
  validates :text, presence: true
  
  #track_history on: [:user_id, :name, :text, :state]
  slug :name
  
  # belongs_to (SQL)
  def user; user_id ? User.find(user_id) : nil; end
  def user=(value); self.user_id = value.id; end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
voluntary-0.7.1 app/models/page.rb
voluntary-0.7.0 app/models/page.rb
voluntary-0.6.0 app/models/page.rb
voluntary-0.5.2 app/models/page.rb
voluntary-0.5.1 app/models/page.rb
voluntary-0.5.0 app/models/page.rb
voluntary-0.4.0 app/models/page.rb
voluntary-0.3.0 app/models/page.rb
voluntary-0.2.4 app/models/page.rb
voluntary-0.2.3 app/models/page.rb
voluntary-0.2.2 app/models/page.rb
voluntary-0.2.1 app/models/page.rb
voluntary-0.2.0 app/models/page.rb