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
eregon 6204e0804b Update to ruby/spec@35a9fba
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-20 20:38:57 +00:00

31 lines
635 B
Ruby

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