@@ -528,17 +528,17 @@ def ===(other)
528528 def cover? ( other ) input_to_tuples ( other ) . none? { !include_tuple? ( _1 ) } end
529529
530530 # Returns +true+ when a given number or range is in +self+, and +false+
531- # otherwise. Returns +false+ unless +number+ is an Integer, Range, or
532- # <tt>*</tt>.
531+ # otherwise. Returns +nil+ when +number+ isn't a valid SequenceSet
532+ # element (Integer, Range, <tt>*</tt>, +sequence-set+ string) .
533533 #
534534 # set = Net::IMAP::SequenceSet["5:10,100,111:115"]
535535 # set.include? 1 #=> false
536536 # set.include? 5..10 #=> true
537537 # set.include? 11..20 #=> false
538538 # set.include? 100 #=> true
539539 # set.include? 6 #=> true, covered by "5:10"
540- # set.include? 4 ..9 #=> true, covered by "5:10"
541- # set.include? "4 :9" #=> true, strings are parsed
540+ # set.include? 6 ..9 #=> true, covered by "5:10"
541+ # set.include? "6 :9" #=> true, strings are parsed
542542 # set.include? 4..9 #=> false, intersection is not sufficient
543543 # set.include? "*" #=> false, use #limit to re-interpret "*"
544544 # set.include? -1 #=> false, -1 is interpreted as "*"
@@ -547,11 +547,14 @@ def cover?(other) input_to_tuples(other).none? { !include_tuple?(_1) } end
547547 # set.include? :* #=> true
548548 # set.include? "*" #=> true
549549 # set.include? -1 #=> true
550- # set.include? 200.. #=> true
551- # set.include? 100.. #=> false
550+ # set.include?( 200..) #=> true
551+ # set.include?( 100..) #=> false
552552 #
553553 # Related: #include_star?, #cover?, #===
554- def include? ( element ) include_tuple? input_to_tuple element end
554+ def include? ( element )
555+ tuple = input_to_tuple element rescue nil
556+ !!include_tuple? ( tuple ) if tuple
557+ end
555558
556559 alias member? include?
557560
0 commit comments