Sha256: 2e1196524307ee1bcab855d797709ab5844ce2011b00a1f98ad729ca222dfc6e

Contents?: true

Size: 688 Bytes

Versions: 6

Compression:

Stored size: 688 Bytes

Contents

class Page < Content
  validates :title, :body, presence: true
  validates :name, uniqueness: true

  include ConfigManager

  serialize :settings, Hash
  setting :password, :string, ''

  before_save :set_permalink
  after_save :shorten_url

  def set_permalink
    self.name = title.to_permalink if name.blank?
  end

  content_fields :body

  def self.default_order
    'name ASC'
  end

  def self.search_with(search_hash)
    super(search_hash).order('title ASC')
  end

  def permalink_url(anchor = nil, only_path = false)
    blog.url_for(
      controller: '/articles',
      action: 'view_page',
      name: name,
      anchor: anchor,
      only_path: only_path
    )
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
publify_core-9.0.0.pre6 app/models/page.rb
publify_core-9.0.0.pre5 app/models/page.rb
publify_core-9.0.0.pre4 app/models/page.rb
publify_core-9.0.0.pre3 app/models/page.rb
publify_core-9.0.0.pre2 app/models/page.rb
publify_core-9.0.0.pre1 app/models/page.rb