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

.validate(args) ⇒ Symbol | String

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