Class: TraceViz::Utils::AliasGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/trace_viz/utils/alias_generator.rb

Constant Summary collapse

COMPONENT_DELIMITER =
"::"
ALIAS_DELIMITER =
"_"

Class Method Summary collapse

Class Method Details

.generate(name:, assigned_aliases:) ⇒ Object

Generates a unique alias for a given name and ensures it doesn’t conflict with existing aliases.

Raises:

  • (ArgumentError)


14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/trace_viz/utils/alias_generator.rb', line 14

def generate(name:, assigned_aliases:)
  raise ArgumentError, "name cannot be nil" if name.nil?

  # Break the name into components and extract initials
  alias_candidate = extract_initials(name.to_s)

  # Ensure the alias is unique
  unique_alias = ensure_unique_alias(
    candidate: alias_candidate,
    assigned_aliases: assigned_aliases,
    original_name: name,
  )

  # Record the alias in the map
  assigned_aliases[name] = unique_alias
  unique_alias
end