Sha256: a0edab2e2e83234160f839076fcd9855aeda834ba076e4d3d6a84ac319778cf5

Contents?: true

Size: 740 Bytes

Versions: 24

Compression:

Stored size: 740 Bytes

Contents

# frozen_string_literal: true

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
    "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

  def publish!
    self.state = "published"
    save!
  end

  def published?
    state == "published"
  end
end

Version data entries

24 entries across 24 versions & 2 rubygems

Version Path
publify_core-10.0.2 app/models/page.rb
HornsAndHooves-publify_core-10.5.0 app/models/page.rb
HornsAndHooves-publify_core-10.4.0 app/models/page.rb
HornsAndHooves-publify_core-10.3.0 app/models/page.rb
HornsAndHooves-publify_core-10.2.0 app/models/page.rb
publify_core-10.0.1 app/models/page.rb
publify_core-10.0.0 app/models/page.rb
publify_core-9.2.10 app/models/page.rb
HornsAndHooves-publify_core-10.1.1 app/models/page.rb
HornsAndHooves-publify_core-10.1.0 app/models/page.rb
HornsAndHooves-publify_core-10.0.3 app/models/page.rb
HornsAndHooves-publify_core-10.0.2 app/models/page.rb
HornsAndHooves-publify_core-10.0.1 app/models/page.rb
HornsAndHooves-publify_core-10.0.0 app/models/page.rb
publify_core-9.2.9 app/models/page.rb
publify_core-9.2.8 app/models/page.rb
publify_core-9.2.7 app/models/page.rb
publify_core-9.2.6 app/models/page.rb
publify_core-9.2.5 app/models/page.rb
publify_core-9.2.4 app/models/page.rb