Class: Page

Inherits:
Object
  • Object
show all
Includes:
Mongoid::Document, Mongoid::Timestamps, Mongoid::Tree, Mongoid::Tree::Ordering, Mongoid::Userstamp
Defined in:
lib/bolton_cms/models/page.rb

Instance Method Summary collapse

Instance Method Details

#active_fragmentsObject



49
50
51
# File 'lib/bolton_cms/models/page.rb', line 49

def active_fragments
  fragments.where(active: true)
end

#find_fragment(label) ⇒ Object



57
58
59
# File 'lib/bolton_cms/models/page.rb', line 57

def find_fragment(label)
  fragments.find_by(label: label) unless label.blank?
end

#inactive_fragmentsObject



53
54
55
# File 'lib/bolton_cms/models/page.rb', line 53

def inactive_fragments
  fragments.where(active: false)
end

#manage_fragments(configured_fragments = []) ⇒ Object



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# 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?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/bolton_cms/models/page.rb', line 41

def post?
  parent && parent.chronological?
end

#unused_assetsObject



45
46
47
# File 'lib/bolton_cms/models/page.rb', line 45

def unused_assets
  assets.where(used: false)
end