Sha256: 01eb922a0c2d8f5bcddc76ecdf858e6d802d092a39d7e37c6b4f984adb4bba40

Contents?: true

Size: 733 Bytes

Versions: 6

Compression:

Stored size: 733 Bytes

Contents

class Page < ActiveRecord::Base
  validates_presence_of :name
  validates_uniqueness_of :name
  before_save :downcase_name
  
  def title
    name.titleize
  end
  
  def search_result_title
    r = page_title.split(' | ')
    r[0]
  end
  
  scope :visible, where("visible = ?", true).order('id')
  scope :home, where("page_type = ?", 'home')
  
  def self.search(search)
    if search
      find(:all, :conditions => ['name LIKE ? OR content LIKE ? OR page_title LIKE ? OR meta_keywords LIKE ? OR meta_description LIKE ?', "%#{search}%", "%#{search}%", "%#{search}%", "%#{search}%", "%#{search}%"])
    else
      find(:all)
    end
  end

  private
  
  def downcase_name
    self.name.downcase! unless self.name.blank?
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
creature-0.0.6 lib/generators/pages/templates/page.rb
creature-0.0.5 lib/generators/pages/templates/page.rb
creature-0.0.4 lib/generators/pages/templates/page.rb
creature-0.0.3 lib/generators/pages/templates/page.rb
creature-0.0.2 lib/generators/pages/templates/page.rb
creature-0.0.1 lib/generators/pages/templates/page.rb