Class: EditablePage

Inherits:
ApplicationRecord show all
Includes:
Checkable, FlatPriority, MetaTexts, RequiredUniqueName, Toggleable
Defined in:
app/models/editable_page.rb

Overview

Editable page for site

Attributes:

body [String]
image [EditablePageImageUploader], optional
image_alt_text [String], optional
language_id [Language]
meta_description [String], optional
meta_keywords [String], optional
meta_title [String], optional
name [String]
nav_group [String], optional
parsed_body [Text]
priority [Integer]
slug [String]
url [String], optional
visible [Boolean]

Constant Summary collapse

BODY_LIMIT =
16_777_215
META_LIMIT =
255
NAME_LIMIT =
100
SLUG_LIMIT =
100

Class Method Summary collapse

Instance Method Summary collapse

Methods included from FlatPriority

#change_priority

Class Method Details

.entity_parametersObject



62
63
64
65
# File 'app/models/editable_page.rb', line 62

def self.entity_parameters
  data = %i[body image image_alt_text language_id name nav_group slug url]
  data + meta_text_fields
end

.fallback_page(url, language_code) ⇒ Object

Parameters:

  • url (String)
  • language_code (String)


83
84
85
86
# File 'app/models/editable_page.rb', line 83

def self.fallback_page(url, language_code)
  language = Language.find_by(code: language_code)
  find_by(url: url, language: language) || find_by(url: url)
end

.find_localized(slug, language_code) ⇒ Object

Deprecated.

use #localized_page

Parameters:

  • slug (String)
  • language_code (String)


70
71
72
# File 'app/models/editable_page.rb', line 70

def self.find_localized(slug, language_code)
  localized_page(slug, language_code)
end

.localized_page(slug, language_code) ⇒ Object

Parameters:

  • slug (String)
  • language_code (String)


76
77
78
79
# File 'app/models/editable_page.rb', line 76

def self.localized_page(slug, language_code)
  language = Language.find_by(code: language_code)
  find_by(slug: slug, language: language) || find_by(slug: slug)
end

.page_for_administrationObject



58
59
60
# File 'app/models/editable_page.rb', line 58

def self.page_for_administration
  ordered_by_slug
end

Instance Method Details

#descriptionObject

Deprecated.

use #meta_description



103
104
105
# File 'app/models/editable_page.rb', line 103

def description
  meta_description
end

#editable_by?(user) ⇒ Boolean

Parameters:

Returns:

  • (Boolean)


108
109
110
# File 'app/models/editable_page.rb', line 108

def editable_by?(user)
  UserPrivilege.user_has_privilege?(user, :content_manager)
end

#keywordsObject

Deprecated.

use #meta_keywords



98
99
100
# File 'app/models/editable_page.rb', line 98

def keywords
  meta_keywords
end

#textObject



93
94
95
# File 'app/models/editable_page.rb', line 93

def text
  parsed_body.blank? ? body : parsed_body
end

#titleObject

Deprecated.

use #meta_title



89
90
91
# File 'app/models/editable_page.rb', line 89

def title
  name
end