Class: PrintPrimesTable::Validators::DefaultValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/print_primes_table/validators/default_validator.rb

Class Method Summary (collapse)

Class Method Details

+ (Symbol | String) validate(args)

validate the args before a method to return a message to the user

Parameters:

  • args (Array)

    in this case is valid 1 argument integer

Returns:

  • (Symbol | String)

    :valid or an Error Message



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/print_primes_table/validators/default_validator.rb', line 11

def validate(args)
	begin
		raise ArgumentError.new(
			ErrorMessage.new(:command_wrong_arguments,
				{:max => 1, :argument_num => args.count }
				).show_content) if args.count > 1
		if args.count > 0

			begin
				total = Integer(args[0])
			rescue
				raise TypeError.new(
					ErrorMessage.new(:command_wrong_type_arguments,
						{ :argument => args[0] }).show_content)
			end

			raise RangeError.new(
				ErrorMessage.new(:less_than_min,
						{ :min => 1, :argument => args[0] }).show_content) if total < 1
		end
		:valid
	rescue  => err
		err.message
	end
end