@@ -33,10 +33,7 @@ def reset_found_emails
3333 @found_emails = [ ]
3434 end
3535
36- private
37-
3836 AVAILABLE_SEARCH_OPTIONS = %i[
39-
4037 by_subject
4138 by_content
4239 since
@@ -59,36 +56,45 @@ def verify_and_set_search_options(options)
5956 end
6057
6158 def validate_option_values ( options )
62- if options [ :since ]
63-
64- raise MailHandler ::Error , "Incorrect option options[:since]=#{ options [ :since ] } ." unless options [ :since ] . is_a? ( Time )
65-
66- end
67-
68- unless options [ :count ] . nil?
59+ validate_since_option ( options )
60+ validate_count_option ( options )
61+ validate_archive_option ( options )
62+ validate_recipient_option ( options )
63+ end
6964
70- count = options [ :count ]
71- raise MailHandler :: Error , "Incorrect option options[:count]= #{ options [ :count ] } ." if ( count < 0 ) || ( count > 2000 )
65+ def validate_recipient_option ( options )
66+ return if options [ :by_recipient ] . nil?
7267
73- end
68+ error_message = "Incorrect option options[:by_recipient]=#{ options [ :by_recipient ] } ."
69+ raise MailHandler ::Error , error_message unless options [ :by_recipient ] . is_a? ( Hash )
70+ end
7471
75- if options [ :archive ]
72+ def validate_archive_option ( options )
73+ return if options [ :archive ] . nil?
7674
77- raise MailHandler ::Error , "Incorrect option options[:archive]=#{ options [ :archive ] } ." unless ( options [ :archive ] == true ) || ( options [ :archive ] == false )
75+ error_message = "Incorrect option options[:archive]=#{ options [ :archive ] } ."
76+ raise MailHandler ::Error , error_message unless [ true , false ] . include? ( options [ :archive ] )
77+ end
7878
79- end
79+ def validate_since_option ( options )
80+ return if options [ :since ] . nil?
8081
81- if options [ :by_recipient ]
82+ error_message = "Incorrect option options[:since]=#{ options [ :since ] } ."
83+ raise MailHandler ::Error , error_message unless options [ :since ] . is_a? ( Time )
84+ end
8285
83- raise MailHandler ::Error , "Incorrect option options[:by_recipient]=#{ options [ :by_recipient ] } ." unless options [ :by_recipient ] . is_a? ( Hash )
86+ def validate_count_option ( options )
87+ return if options [ :count ] . nil?
8488
85- end
89+ count = options [ :count ]
90+ error_message = "Incorrect option options[:count]=#{ options [ :count ] } ."
91+ raise MailHandler ::Error , error_message if ( count < 0 ) || ( count > 2000 )
8692 end
8793
8894 def validate_used_options ( options )
89- unless ( options . keys - available_search_options ) . empty?
90- raise MailHandler :: Error , " #{ ( options . keys - available_search_options ) } - Incorrect search option values, options are #{ available_search_options } ."
91- end
95+ error_message = " #{ ( options . keys - available_search_options ) } - Incorrect search option values," \
96+ " options are #{ available_search_options } ."
97+ raise MailHandler :: Error , error_message unless ( options . keys - available_search_options ) . empty?
9298 end
9399
94100 def set_base_search_options
0 commit comments