blob: 3fec465ec0e83a3fc81a84fb770571175975e9c9 (
plain) (
tree)
|
|
class Object
# Returns true if this object is included in the argument(s). Argument must be
# any object which responds to +#include?+ or optionally, multiple arguments can be passed in. Usage:
#
# characters = ['Konata', 'Kagami', 'Tsukasa']
# 'Konata'.in?(characters) # => true
#
# character = 'Konata'
# character.in?('Konata', 'Kagami', 'Tsukasa') # => true
#
# This will throw an ArgumentError if a single argument is passed in and it doesn't respond
# to +#include?+.
def in?(*args)
if args.length > 1
args.include? self
else
another_object = args.first
if another_object.respond_to? :include?
another_object.include? self
else
raise ArgumentError.new 'The single parameter passed to #in? must respond to #include?'
end
end
end
end
|