Module: FizzBuzzer::V12b
- Defined in:
- lib/fizzbuzzer.rb
Constant Summary collapse
- FIZZBUZZ_DEFAULT_RANGE =
1..100
- FIZZBUZZ_DEFAULT_FACTORS =
[["Fizz", -> n { n % 3 == 0 }], ['Buzz', -> n { n % 5 == 0 }]]
Instance Method Summary collapse
- #fizzbuzz ⇒ Object
- #fizzbuzz_engine(range = FIZZBUZZ_DEFAULT_RANGE, factors = FIZZBUZZ_DEFAULT_FACTORS) ⇒ Object
Instance Method Details
#fizzbuzz ⇒ Object
347 348 349 |
# File 'lib/fizzbuzzer.rb', line 347 def fizzbuzz fizzbuzz_engine end |
#fizzbuzz_engine(range = FIZZBUZZ_DEFAULT_RANGE, factors = FIZZBUZZ_DEFAULT_FACTORS) ⇒ Object
337 338 339 340 341 342 343 344 345 |
# File 'lib/fizzbuzzer.rb', line 337 def fizzbuzz_engine(range=FIZZBUZZ_DEFAULT_RANGE, factors=FIZZBUZZ_DEFAULT_FACTORS) range.map do |n| result = "" factors.each do |(name, predicate)| result << name if predicate.call(n) end result == "" ? n : result end end |