Class: LinkBlock

Inherits:
ApplicationRecord show all
Includes:
Checkable, Toggleable
Defined in:
app/models/link_block.rb

Constant Summary collapse

SLUG_LIMIT =
50
SLUG_PATTERN =
/\A[a-z][-_a-z0-9]*[a-z]\z/i
SLUG_PATTERN_HTML =
'^[a-zA-Z][-_a-zA_Z0-9]*[a-zA-Z]$'
TITLE_LIMIT =
255
TEXT_LIMIT =
5000

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.entity_parametersObject



35
36
37
# File 'app/models/link_block.rb', line 35

def self.entity_parameters
  %i(footer_text language_id lead slug title visible)
end

.localized_block(slug, language_code) ⇒ Object

Parameters:

  • slug (String)
  • language_code (String)


29
30
31
32
33
# File 'app/models/link_block.rb', line 29

def self.localized_block(slug, language_code)
  language = Language.find_by(code: language_code)
  criteria = { visible: true, slug: slug }
  find_by(criteria.merge(language: language)) || find_by(criteria)
end

Instance Method Details

#editable_by?(user) ⇒ Boolean

Parameters:

Returns:

  • (Boolean)


40
41
42
# File 'app/models/link_block.rb', line 40

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