@@ -3118,11 +3118,7 @@ def enforce_logindisabled?
3118
3118
end
3119
3119
3120
3120
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 )
3126
3122
synchronize do
3127
3123
if charset
3128
3124
send_command ( cmd , "CHARSET" , charset , *keys )
@@ -3175,31 +3171,24 @@ def copy_internal(cmd, set, mailbox)
3175
3171
end
3176
3172
3177
3173
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 )
3183
3175
synchronize do
3184
3176
send_command ( cmd , sort_keys , charset , *search_keys )
3185
3177
clear_responses ( "SORT" ) . last || [ ]
3186
3178
end
3187
3179
end
3188
3180
3189
3181
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 )
3195
3183
synchronize do
3196
3184
send_command ( cmd , algorithm , charset , *search_keys )
3197
3185
clear_responses ( "THREAD" ) . last || [ ]
3198
3186
end
3199
3187
end
3200
3188
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 |
3203
3192
case i
3204
3193
when -1 , Range , Array
3205
3194
SequenceSet . new ( i )
0 commit comments