Module: Alchemy::Page::PageNaming

Extended by:
ActiveSupport::Concern
Includes:
NameConversions
Included in:
Alchemy::Page
Defined in:
app/models/alchemy/page/page_naming.rb

Constant Summary collapse

RESERVED_URLNAMES =
%w(admin messages new)

Instance Method Summary collapse

Methods included from NameConversions

#convert_to_humanized_name, #convert_to_urlname

Instance Method Details

#renamed?Boolean

Returns true if name or urlname has changed.

Returns:

  • (Boolean)

31
32
33
# File 'app/models/alchemy/page/page_naming.rb', line 31

def renamed?
  name_changed? || urlname_changed?
end

#slugObject

Returns always the last part of a urlname path


46
47
48
# File 'app/models/alchemy/page/page_naming.rb', line 46

def slug
  urlname.to_s.split("/").last
end

#update_urlname!Object

Makes a slug of all ancestors urlnames including mine and delimit them be slash. So the whole path is stored as urlname in the database.


37
38
39
40
41
42
43
# File 'app/models/alchemy/page/page_naming.rb', line 37

def update_urlname!
  new_urlname = nested_url_name
  if urlname != new_urlname
    legacy_urls.create(urlname: urlname)
    update_column(:urlname, new_urlname)
  end
end