Class: Locomotive::Page
- Inherits:
-
Object
- Object
- Locomotive::Page
- Includes:
- Extensions::Page::EditableElements, Extensions::Page::Layout, Extensions::Page::Listed, Extensions::Page::Parse, Extensions::Page::Redirect, Extensions::Page::Render, Extensions::Page::Templatized, Extensions::Page::Tree, Extensions::Shared::Seo, Extensions::Shared::Slug, Mongoid::Document
- Defined in:
- app/models/locomotive/page.rb
Constant Summary collapse
- MINIMAL_ATTRIBUTES =
%w(_id title slug fullpath position depth published templatized target_klass_name redirect listed response_type parent_id parent_ids site_id created_at updated_at)
Instance Method Summary collapse
- #default_response_type? ⇒ Boolean
-
#index? ⇒ Boolean
methods ##.
- #index_or_not_found? ⇒ Boolean
-
#latest_updated ⇒ Object
named scopes ##.
- #not_found? ⇒ Boolean
-
#site ⇒ Object
validations ##.
-
#title ⇒ Object
behaviours ##.
- #translated? ⇒ Boolean
- #translated_in ⇒ Object
- #unpublished? ⇒ Boolean
- #with_cache? ⇒ Boolean
Methods included from Extensions::Page::Templatized
#content_type, #fetch_target_entries, #fetch_target_entry, #target_entry_name, #target_klass, #target_klass_slug, #target_klass_slug=
Methods included from Extensions::Page::Render
Methods included from Extensions::Page::Parse
#force_serialize_template, #template
Methods included from Extensions::Page::EditableElements
#add_or_update_editable_element, #change_element_type, #disable_all_editable_elements, #disable_parent_editable_elements, #editable_element_blocks, #editable_elements_grouped_by_blocks, #enable_editable_elements, #enabled_editable_elements, #find_editable_element, #find_editable_elements, #find_editable_files, #merge_editable_elements_from_page, #remove_disabled_editable_elements
Methods included from Extensions::Page::Tree
#children_with_minimal_attributes, #depth, #siblings_and_self_with_scoping, #sort_children!
Instance Method Details
#default_response_type? ⇒ Boolean
87 88 89 |
# File 'app/models/locomotive/page.rb', line 87 def default_response_type? self.response_type == 'text/html' end |
#index? ⇒ Boolean
methods ##
67 68 69 |
# File 'app/models/locomotive/page.rb', line 67 def index? self.slug == 'index' && self.depth.to_i == 0 end |
#index_or_not_found? ⇒ Boolean
79 80 81 |
# File 'app/models/locomotive/page.rb', line 79 def index_or_not_found? self.index? || self.not_found? end |
#latest_updated ⇒ Object
named scopes ##
56 |
# File 'app/models/locomotive/page.rb', line 56 scope :latest_updated, order_by(updated_at: :desc).limit(Locomotive.config.ui[:latest_entries_nb]) |
#not_found? ⇒ Boolean
71 72 73 |
# File 'app/models/locomotive/page.rb', line 71 def not_found? self.slug == '404' && self.depth.to_i == 0 end |
#site ⇒ Object
validations ##
32 |
# File 'app/models/locomotive/page.rb', line 32 belongs_to :site, class_name: 'Locomotive::Site', validate: false, autosave: false |
#title ⇒ Object
behaviours ##
21 |
# File 'app/models/locomotive/page.rb', line 21 field :title, localize: true |
#translated? ⇒ Boolean
91 92 93 |
# File 'app/models/locomotive/page.rb', line 91 def translated? self.title_translations.key?(::Mongoid::Fields::I18n.locale.to_s) rescue false end |
#translated_in ⇒ Object
95 96 97 |
# File 'app/models/locomotive/page.rb', line 95 def translated_in self.title_translations.try(:keys) end |
#unpublished? ⇒ Boolean
75 76 77 |
# File 'app/models/locomotive/page.rb', line 75 def unpublished? !self.published? end |
#with_cache? ⇒ Boolean
83 84 85 |
# File 'app/models/locomotive/page.rb', line 83 def with_cache? self.cache_strategy != 'none' end |