class Page
Public Instance Methods
active_fragments()
click to toggle source
# File lib/bolton_cms/models/page.rb, line 49 def active_fragments fragments.where(active: true) end
find_fragment(label)
click to toggle source
# File lib/bolton_cms/models/page.rb, line 57 def find_fragment(label) fragments.find_by(label: label) unless label.blank? end
inactive_fragments()
click to toggle source
# File lib/bolton_cms/models/page.rb, line 53 def inactive_fragments fragments.where(active: false) end
manage_fragments(configured_fragments = [])
click to toggle source
# File lib/bolton_cms/models/page.rb, line 61 def manage_fragments(configured_fragments = []) fragments.each do |fragment| if fragment.active = configured_fragments.include?(fragment.label) configured_fragments.delete fragment.label end end configured_fragments.each do |fragment| fragments << Fragment.new(label: fragment) end inactive_fragments.where(body: '').destroy_all save end
post?()
click to toggle source
# File lib/bolton_cms/models/page.rb, line 41 def post? parent && parent.chronological? end
unused_assets()
click to toggle source
# File lib/bolton_cms/models/page.rb, line 45 def unused_assets assets.where(used: false) end
Private Instance Methods
destroy_flagged_assets()
click to toggle source
# File lib/bolton_cms/models/page.rb, line 99 def destroy_flagged_assets assets.where(delete_asset: true).destroy end
flag_used_assets()
click to toggle source
# File lib/bolton_cms/models/page.rb, line 103 def flag_used_assets assets.each do |asset| asset.used = !!self.body.match(asset.attachment.file.filename) unless asset.used? asset.used = !!self.fragments.detect do |fragment| !!fragment.body.match(asset.attachment.file.filename) end end end end
no_children()
click to toggle source
# File lib/bolton_cms/models/page.rb, line 85 def no_children errors.add :children, 'Page may not have children if parent is a chronological index' unless self.children.empty? end
no_grandchildren()
click to toggle source
# File lib/bolton_cms/models/page.rb, line 79 def no_grandchildren child_parents = !!self.children.detect{ |child| child.children? } errors.add :children, 'Page with children may not be added to a chronological index' if child_parents end
rebuild_path()
click to toggle source
# File lib/bolton_cms/models/page.rb, line 89 def rebuild_path self.path = self.ancestors_and_self.collect(&:slug).join('/') self.rearrange_children! end
set_slug()
click to toggle source
# File lib/bolton_cms/models/page.rb, line 95 def set_slug self.slug = self.title.to_slug.normalize.to_s end