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
371 372 373 |
# File 'lib/fizzbuzzer.rb', line 371 def fizzbuzz fizzbuzz_engine end |
#fizzbuzz_engine(range = FIZZBUZZ_DEFAULT_RANGE, factors = FIZZBUZZ_DEFAULT_FACTORS) ⇒ Object
361 362 363 364 365 366 367 368 369 |
# File 'lib/fizzbuzzer.rb', line 361 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 |