# This file contains the Ruby code from book of # "Data Structures and Algorithms # with Object-Oriented Design Patterns in Ruby" # by Bruno R. Preiss. # # Copyright (c) 2004 by Bruno R. Preiss, P.Eng. All rights reserved. module SearchableContainerMethods abstractmethod :member? abstractmethod :insert abstractmethod :withdraw abstractmethod :find end class SearchableContainer < Container include SearchableContainerMethods def initialize super end end module SearchTreeMethods abstractmethod :min abstractmethod :max end class SearchTree < Tree def initialize super end include SearchableContainerMethods include SearchTreeMethods end