Class: Locomotive::Page
- Inherits:
-
Object
- Object
- Locomotive::Page
- Includes:
- Concerns::Page::EditableElements, Concerns::Page::Layout, Concerns::Page::Listed, Concerns::Page::Redirect, Concerns::Page::Templatized, Concerns::Page::ToSteam, Concerns::Page::Tree, Concerns::Shared::Seo, Concerns::Shared::SiteScope, Concerns::Shared::Slug, Concerns::Shared::Userstamp, 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 raw_template is_layout)
Constants included from Concerns::Page::Layout
Concerns::Page::Layout::BLOCK_REGEX, Concerns::Page::Layout::EXTENDS_FULLPATH_REGEX, Concerns::Page::Layout::EXTENDS_PARENT_REGEX, Concerns::Page::Layout::EXTENDS_REGEX, Concerns::Page::Layout::IS_LAYOUT_REGEX
Instance Attribute Summary collapse
-
#skip_callbacks_on_update ⇒ Object
Returns the value of attribute skip_callbacks_on_update.
Instance Method Summary collapse
- #default_response_type? ⇒ Boolean
-
#index? ⇒ Boolean
methods ##.
- #index_or_not_found? ⇒ Boolean
-
#latest_updated ⇒ Object
named scopes ##.
- #not_found? ⇒ Boolean
-
#title ⇒ Object
validations ##.
- #touch_site_attribute ⇒ Object
- #translated? ⇒ Boolean
- #translated_in ⇒ Object
- #unpublished? ⇒ Boolean
- #update_without_validation_and_callback! ⇒ Object
Methods included from Concerns::Page::ToSteam
Methods included from Concerns::Page::Templatized
#content_type, #content_type_id, #content_type_with_main_attributes, #fetch_target_entries, #fetch_target_entry, #target_entry_name, #target_klass, #target_klass_slug, #target_klass_slug=
Methods included from Concerns::Page::Layout
#find_layout, #is_layout_or_related?, #use_layout?
Methods included from Concerns::Page::EditableElements
Methods included from Concerns::Page::Tree
#children_with_minimal_attributes, #depth, #siblings_and_self_with_scoping, #sort_children!
Instance Attribute Details
#skip_callbacks_on_update ⇒ Object
Returns the value of attribute skip_callbacks_on_update.
68 69 70 |
# File 'app/models/locomotive/page.rb', line 68 def skip_callbacks_on_update @skip_callbacks_on_update end |
Instance Method Details
#default_response_type? ⇒ Boolean
88 89 90 |
# File 'app/models/locomotive/page.rb', line 88 def default_response_type? self.response_type == 'text/html' end |
#index? ⇒ Boolean
methods ##
72 73 74 |
# File 'app/models/locomotive/page.rb', line 72 def index? self.slug == 'index' && self.depth.to_i == 0 end |
#index_or_not_found? ⇒ Boolean
84 85 86 |
# File 'app/models/locomotive/page.rb', line 84 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
76 77 78 |
# File 'app/models/locomotive/page.rb', line 76 def not_found? self.slug == '404' && self.depth.to_i == 0 end |
#title ⇒ Object
validations ##
22 |
# File 'app/models/locomotive/page.rb', line 22 field :title, localize: true |
#touch_site_attribute ⇒ Object
106 107 108 |
# File 'app/models/locomotive/page.rb', line 106 def touch_site_attribute self.raw_template_changed? ? :template_version : :content_version end |
#translated? ⇒ Boolean
92 93 94 |
# File 'app/models/locomotive/page.rb', line 92 def translated? self.title_translations.key?(::Mongoid::Fields::I18n.locale.to_s) rescue false end |
#translated_in ⇒ Object
96 97 98 |
# File 'app/models/locomotive/page.rb', line 96 def translated_in self.title_translations.try(:keys) end |
#unpublished? ⇒ Boolean
80 81 82 |
# File 'app/models/locomotive/page.rb', line 80 def unpublished? !self.published? end |
#update_without_validation_and_callback! ⇒ Object
100 101 102 103 104 |
# File 'app/models/locomotive/page.rb', line 100 def update_without_validation_and_callback! self.updating_descendants = true self.save(validate: false) self.updating_descendants = false end |