Class: Alchemy::Node

Inherits:
BaseRecord
  • Object
show all
Defined in:
app/models/alchemy/node.rb

Constant Summary collapse

VALID_URL_REGEX =
/\A(\/|\D[a-z\+\d\.\-]+:)/

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.available_menu_namesObject



42
43
44
# File 'app/models/alchemy/node.rb', line 42

def available_menu_names
  read_definitions_file
end

.language_root_nodesObject

Returns all root nodes for current language



36
37
38
39
40
# File 'app/models/alchemy/node.rb', line 36

def language_root_nodes
  raise "No language found" if Language.current.nil?

  roots.where(language_id: Language.current.id)
end

Instance Method Details

#nameObject

Returns the name

Either the value is stored in the database or, if attached, the values comes from a page.



30
31
32
# File 'app/models/alchemy/node.rb', line 30

def name
  read_attribute(:name).presence || page&.name
end

#to_partial_pathObject



73
74
75
# File 'app/models/alchemy/node.rb', line 73

def to_partial_path
  "alchemy/menus/#{menu_type}/node"
end

#urlObject

Returns the url

Either the value is stored in the database, aka. an external url. Or, if attached, the values comes from a page.



69
70
71
# File 'app/models/alchemy/node.rb', line 69

def url
  page&.url_path || read_attribute(:url).presence
end