File: //usr/local/rvm/src/ruby-3.0.2/spec/ruby/library/set/fixtures/set_like.rb
require 'set'
module SetSpecs
# This class is used to test the interaction of "Set-like" objects with real Sets
#
# These "Set-like" objects reply to is_a?(Set) with true and thus real Set objects are able to transparently
# interoperate with them in a duck-typing manner.
class SetLike
include Enumerable
def is_a?(klass)
super || klass == ::Set
end
def initialize(entries)
@entries = entries
end
def each(&block)
@entries.each(&block)
end
def inspect
"#<#{self.class}: {#{map(&:inspect).join(", ")}}>"
end
def size
@entries.size
end
end
end