Module: Rambling::Trie::Inspectable

Included in:
Nodes::Node
Defined in:
lib/rambling/trie/inspectable.rb,
sig/lib/rambling/trie/inspectable.rbs

Overview

Provides pretty printing behavior for the trie data structure.

Instance Method Summary collapse

Instance Method Details

#attributesString

Returns:

  • (String)


18
19
20
21
22
23
24
25
# File 'lib/rambling/trie/inspectable.rb', line 18

def attributes
  [
    letter_inspect,
    value_inspect,
    terminal_inspect,
    children_inspect,
  ].compact.join ', '
end

#children_inspectString

Returns:

  • (String)


39
40
41
# File 'lib/rambling/trie/inspectable.rb', line 39

def children_inspect
  "children: #{children_tree.keys.inspect}"
end

#children_treeHash[Symbol, Nodes::Node[TValue]]

Returns:



29
# File 'sig/lib/rambling/trie/inspectable.rbs', line 29

def children_tree: -> Hash[Symbol, Nodes::Node[TValue]]

#class_nameString?

Returns:

  • (String, nil)


14
15
16
# File 'lib/rambling/trie/inspectable.rb', line 14

def class_name
  self.class.name
end

#inspectString

Returns a string representation of the current node.

Returns:

  • (String)

    a string representation of the current node.



8
9
10
# File 'lib/rambling/trie/inspectable.rb', line 8

def inspect
  "#<#{class_name} #{attributes}>"
end

#letterSymbol?

Returns:

  • (Symbol, nil)


23
# File 'sig/lib/rambling/trie/inspectable.rbs', line 23

def letter: -> Symbol?

#letter_inspectString

Returns:

  • (String)


27
28
29
# File 'lib/rambling/trie/inspectable.rb', line 27

def letter_inspect
  "letter: #{letter.inspect}"
end

#terminalBoolean?

Returns:

  • (Boolean, nil)


27
# File 'sig/lib/rambling/trie/inspectable.rbs', line 27

def terminal: -> bool?

#terminal_inspectString

Returns:

  • (String)


35
36
37
# File 'lib/rambling/trie/inspectable.rb', line 35

def terminal_inspect
  "terminal: #{terminal.inspect}"
end

#valueTValue?

Returns:

  • (TValue, nil)


25
# File 'sig/lib/rambling/trie/inspectable.rbs', line 25

def value: -> TValue?

#value_inspectString?

Returns:

  • (String, nil)


31
32
33
# File 'lib/rambling/trie/inspectable.rb', line 31

def value_inspect
  value && "value: #{value.inspect}"
end