Class: Smithy::PageList

Inherits:
ActiveRecord::Base
  • Object
show all
Includes:
ContentBlocks::Model
Defined in:
app/models/smithy/page_list.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.content_block_descriptionObject



10
11
12
# File 'app/models/smithy/page_list.rb', line 10

def content_block_description
  "Page Lists are primarily used to provide a sub-navigation for parent pages or cross-navigation to other sections of your website."
end

.sort_optionsObject



14
15
16
17
18
19
20
21
22
# File 'app/models/smithy/page_list.rb', line 14

def sort_options
  [
    ['Sitemap Order', 'sitemap'],
    ['Most Recently Created First', 'created_desc'],
    ['Earliest Created First', 'created_asc'],
    ['Alphabetical Order', 'title_asc'],
    ['Reverse Alphabetical Order', 'title_desc']
  ]
end

Instance Method Details

#pagesObject



25
26
27
28
29
30
31
32
33
34
# File 'app/models/smithy/page_list.rb', line 25

def pages
  unless @pages
    return unless self.parent
    @pages = self.parent.children
    @pages = @pages.except(:order).order(sort_sql) unless sort_sql.nil?
    @pages = @pages.limit(self.count) if self.count?
    @pages = @pages.where(:template_id => self.page_template_id) if self.page_template_id?
  end
  @pages
end

#to_liquidObject



36
37
38
39
40
41
42
# File 'app/models/smithy/page_list.rb', line 36

def to_liquid
  {
    'id' => self.id,
    'parent' => self.parent,
    'pages' => self.pages
  }
end