Module: Yoda::AST::NamespaceTraversable

Included in:
Vnode
Defined in:
lib/yoda/ast/namespace_traversable.rb

Instance Method Summary collapse

Instance Method Details

#calc_current_location_namespace(location) ⇒ Namespace?

Parameters:

  • location (Location)

Returns:



34
35
36
# File 'lib/yoda/ast/namespace_traversable.rb', line 34

def calc_current_location_namespace(location)
  positionally_nearest_child(location)&.namespace
end

#full_nameString, Symbol

Returns:

  • (String, Symbol)


26
27
28
29
30
# File 'lib/yoda/ast/namespace_traversable.rb', line 26

def full_name
  return :root if type == :root
  parent_name = parent && !parent.root? ? parent.full_name : ''
  const_node ? ConstNode.new(const_node).to_s(parent_name) : parent_name
end

#namespaceNamespace

Returns:



16
17
18
# File 'lib/yoda/ast/namespace_traversable.rb', line 16

def namespace
  @namespace ||= namespace? ? self : parent.namespace
end

#namespace?true, false

Returns:

  • (true, false)


11
12
13
# File 'lib/yoda/ast/namespace_traversable.rb', line 11

def namespace?
  false
end

#namespace_pathString

Returns:

  • (String)


21
22
23
# File 'lib/yoda/ast/namespace_traversable.rb', line 21

def namespace_path
  namespace.path
end

#root?true, false

Returns:

  • (true, false)


6
7
8
# File 'lib/yoda/ast/namespace_traversable.rb', line 6

def root?
  false
end