@@ -3118,11 +3118,7 @@ def enforce_logindisabled?
31183118 end
31193119
31203120 def search_internal ( cmd , keys , charset )
3121- if keys . instance_of? ( String )
3122- keys = [ RawData . new ( keys ) ]
3123- else
3124- normalize_searching_criteria ( keys )
3125- end
3121+ keys = normalize_searching_criteria ( keys )
31263122 synchronize do
31273123 if charset
31283124 send_command ( cmd , "CHARSET" , charset , *keys )
@@ -3175,31 +3171,24 @@ def copy_internal(cmd, set, mailbox)
31753171 end
31763172
31773173 def sort_internal ( cmd , sort_keys , search_keys , charset )
3178- if search_keys . instance_of? ( String )
3179- search_keys = [ RawData . new ( search_keys ) ]
3180- else
3181- normalize_searching_criteria ( search_keys )
3182- end
3174+ search_keys = normalize_searching_criteria ( search_keys )
31833175 synchronize do
31843176 send_command ( cmd , sort_keys , charset , *search_keys )
31853177 clear_responses ( "SORT" ) . last || [ ]
31863178 end
31873179 end
31883180
31893181 def thread_internal ( cmd , algorithm , search_keys , charset )
3190- if search_keys . instance_of? ( String )
3191- search_keys = [ RawData . new ( search_keys ) ]
3192- else
3193- normalize_searching_criteria ( search_keys )
3194- end
3182+ search_keys = normalize_searching_criteria ( search_keys )
31953183 synchronize do
31963184 send_command ( cmd , algorithm , charset , *search_keys )
31973185 clear_responses ( "THREAD" ) . last || [ ]
31983186 end
31993187 end
32003188
3201- def normalize_searching_criteria ( keys )
3202- keys . collect! do |i |
3189+ def normalize_searching_criteria ( criteria )
3190+ return RawData . new ( criteria ) if criteria . is_a? ( String )
3191+ criteria . map do |i |
32033192 case i
32043193 when -1 , Range , Array
32053194 SequenceSet . new ( i )
0 commit comments