foodsoft/app/models/page.rb

38 lines
883 B
Ruby
Raw Normal View History

# == Schema Information
# Schema version: 20090325175756
#
# Table name: pages
#
# id :integer not null, primary key
# title :string(255)
# body :text
# permalink :string(255)
# lock_version :integer default(0)
# updated_by :integer
# created_at :datetime
# updated_at :datetime
#
class Page < ActiveRecord::Base
2009-05-15 17:32:45 +02:00
belongs_to :user, :foreign_key => 'updated_by'
acts_as_versioned :version_column => :lock_version
2009-05-15 17:32:45 +02:00
self.non_versioned_columns += ['permalink', 'created_at']
validates_presence_of :title, :body
2009-05-13 17:32:43 +02:00
validates_uniqueness_of :permalink
2009-05-13 17:32:43 +02:00
before_validation_on_create :set_permalink
def self.permalink(title)
Wikitext::Parser.new.parse "[[#{title}]]"
end
def set_permalink
unless self.permalink.blank?
self.permalink = Page.count == 0 ? "Home" : Page.permalink(title)
end
end
end