1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/spec/ruby/library/set/fixtures/set_like.rb

32 lines
635 B
Ruby
Raw Normal View History

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