Class: Locomotive::Page

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

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

#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

Returns:



87
88
89
# File 'app/models/locomotive/page.rb', line 87

def default_response_type?
  self.response_type == 'text/html'
end

#index?Boolean

methods ##

Returns:



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

Returns:



79
80
81
# File 'app/models/locomotive/page.rb', line 79

def index_or_not_found?
  self.index? || self.not_found?
end

#latest_updatedObject

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

Returns:



71
72
73
# File 'app/models/locomotive/page.rb', line 71

def not_found?
  self.slug == '404' && self.depth.to_i == 0
end

#siteObject

validations ##



32
# File 'app/models/locomotive/page.rb', line 32

belongs_to :site, class_name: 'Locomotive::Site', validate: false, autosave: false

#titleObject

behaviours ##



21
# File 'app/models/locomotive/page.rb', line 21

field :title,               localize: true

#translated?Boolean

Returns:



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_inObject



95
96
97
# File 'app/models/locomotive/page.rb', line 95

def translated_in
  self.title_translations.try(:keys)
end

#unpublished?Boolean

Returns:



75
76
77
# File 'app/models/locomotive/page.rb', line 75

def unpublished?
  !self.published?
end

#with_cache?Boolean

Returns:



83
84
85
# File 'app/models/locomotive/page.rb', line 83

def with_cache?
  self.cache_strategy != 'none'
end