Skip to Content Skip to Search
Namespace
Methods
F

Instance Public methods

full_name()

Returns the full name of this constant path. For example: “Foo::Bar”

# File ruby/lib/prism/node_ext.rb, line 129
def full_name
  full_name_parts.join("::")
end

full_name_parts()

Returns the list of parts for the full name of this constant path. For example: [:Foo, :Bar]

# File ruby/lib/prism/node_ext.rb, line 112
def full_name_parts
  parts = [child.name]
  current = parent

  while current.is_a?(ConstantPathNode)
    parts.unshift(current.child.name)
    current = current.parent
  end

  unless current.is_a?(ConstantReadNode)
    raise DynamicPartsInConstantPathError, "Constant path contains dynamic parts. Cannot compute full name"
  end

  parts.unshift(current&.name || :"")
end