Class: FizzBuzz

Inherits:
Object
  • Object
show all
Defined in:
lib/fizzbuzz_mf.rb

Class Method Summary collapse

Class Method Details

.error_handler(args) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/fizzbuzz_mf.rb', line 15

def self.error_handler(args)
  begin
    raise "Invalid Number of Arguments" unless args.length == 2
    lower = args[0]
    upper = args[1]
    raise "Input is not an integer" unless lower.is_a?(Integer) && upper.is_a?(Integer)
    raise "Input is a negative value" unless lower > -1 && upper > -1
    raise "lower limit is higher than upper limit" unless lower < upper
  end
  return true
end

.fizzbuzz(*args) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
# File 'lib/fizzbuzz_mf.rb', line 2

def self.fizzbuzz(*args)
  if error_handler(args)
    (args[0]..args[1]).each do |num|
      fizzbuzz = ""
      fizzbuzz += "Fizz" if num % 3 == 0
      fizzbuzz += "Buzz" if num % 5 == 0
      puts (fizzbuzz == "" ? num : fizzbuzz)
    end
  else
    puts "Error ! Change Input Values"
  end
end