lib/rambling/trie/comparable.rb
# frozen_string_literal: true
module Rambling
module Trie
# Provides the comparable behavior for the trie data structure.
module Comparable
# Compares two nodes.
# @param [Nodes::Node] other the node to compare against.
# @return [Boolean] +true+ if the nodes' {Nodes::Node#letter #letter} and
# {Nodes::Node#children_tree #children_tree} are equal, +false+ otherwise.
def == other
letter == other.letter &&
terminal? == other.terminal? &&
children_tree == other.children_tree
end
end
end
end