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

Instance Method Details

#fizzbuzzObject



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