module HasPages

Public Instance Methods

page_url=(string) click to toggle source
# File lib/buweb/concerns/has_pages.rb, line 33
def page_url=(string)
  # Save empty string as nil
  write_attribute :page_url, string.presence
end
primary_page() click to toggle source
# File lib/buweb/concerns/has_pages.rb, line 14
def primary_page
  page_editions.where(id: primary_page_id).first
end
primary_page=(page) click to toggle source
# File lib/buweb/concerns/has_pages.rb, line 18
def primary_page=(page)
  if page && page.is_a?(PageEdition)
    write_attribute :primary_page_id, page.id.to_s
    self.page_url = page.url if page.published?
    self.page_editions << page unless self.page_editions.include?(page)
  else
    write_attribute :primary_page_id, nil
    self.page_url = nil
  end
end
primary_page_id=(page_id) click to toggle source
# File lib/buweb/concerns/has_pages.rb, line 29
def primary_page_id=(page_id)
  self.primary_page = page_id.present? ? PageEdition.find(page_id) : nil
end