fizzbuzz_mf 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/fizzbuzz_mf.rb +14 -7
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2fde640dbb0e011c52fc9ad20e91d69e24888dc19db32b9696fca3276bc36086
4
- data.tar.gz: d5066e693deea69f7412da1c0ffd2d9c02fd02d15534df264823855193b63596
3
+ metadata.gz: ecc56427d7e98d6e784b1f629426384394c789b160af2d7d59a95b9f5ca5c47d
4
+ data.tar.gz: 7225f41448708b86563b234451928914444076d1dc79e35771423243d86bc56c
5
5
  SHA512:
6
- metadata.gz: 2713e02920aaaad4c7cfd0774d77266a6d6be7254d5da705fae460c1043237b4269f125410e646ad47720056da44f6d4190ac9cc543c59c50ae06ba0d00e2868
7
- data.tar.gz: eb805785283df9232abecc83122d1cdf99e2b4e2cb10e8e924da4994ba89484b21abb0808d6c3282ed0ca8f5c818a6b7417236b538b78e149de7c22a67fa548c
6
+ metadata.gz: 9aef3bc55b5cfd9e3c1a2a6911e0e76e73005de1a995baf6f697ebc3b75a83d14970ada197ce3401f9365f64eaeee9ea635cf70d649024433bc7a46d623d4259
7
+ data.tar.gz: 565c063296871935aded8140af75f3296c9887d8343a84a84e45337c789260d1a786aafa63c736298966d82f9db6c266fbed9b19178ac52880e362bed4c08307
@@ -1,19 +1,26 @@
1
1
  class FizzBuzz
2
- def self.fizzbuzz(lower, upper)
3
- if error_handler(lower, upper)
4
- lower, upper = upper, lower if lower > upper
5
- (lower..upper).each do |num|
2
+ def self.fizzbuzz(*args)
3
+ if error_handler(args)
4
+ (args[0]..args[1]).each do |num|
6
5
  fizzbuzz = ""
7
6
  fizzbuzz += "Fizz" if num % 3 == 0
8
7
  fizzbuzz += "Buzz" if num % 5 == 0
9
8
  puts (fizzbuzz == "" ? num : fizzbuzz)
10
9
  end
11
10
  else
12
- puts "Error ! Change INput Values"
11
+ puts "Error ! Change Input Values"
13
12
  end
14
13
  end
15
14
 
16
- def self.error_handler(lower, upper)
17
- return (lower.is_a?(Integer) && upper.is_a?(Integer) && lower > 0 && upper > 0)
15
+ def self.error_handler(args)
16
+ begin
17
+ raise "Invalid Number of Arguments" unless args.length == 2
18
+ lower = args[0]
19
+ upper = args[1]
20
+ raise "Input is not an integer" unless lower.is_a?(Integer) && upper.is_a?(Integer)
21
+ raise "Input is a negative value" unless lower > -1 && upper > -1
22
+ raise "lower limit is higher than upper limit" unless lower < upper
23
+ end
24
+ return true
18
25
  end
19
26
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fizzbuzz_mf
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mohammed Ferbin Karumannil