Module: FizzBuzzer::V10

Defined in:
lib/fizzbuzzer.rb

Constant Summary collapse

FizzBuzz =
Dry::Matcher.new(
  fizzbuzz: Dry::Matcher::Case.new(
match: -> value { value[0] == 0 && value[1] == 0 },
resolve: -> value { "FizzBuzz" } ),
  fizz:     Dry::Matcher::Case.new(
match: -> value { value[0] == 0 },
resolve: -> value { "Fizz" } ),
  buzz:     Dry::Matcher::Case.new(
match: -> value { value[1] == 0 },
resolve: -> value { "Buzz" } ),
  other:    Dry::Matcher::Case.new(
match: -> value { true },
resolve: -> value { value[2] } ))

Instance Method Summary collapse

Instance Method Details

#fizzbuzzObject



283
284
285
286
287
288
289
290
291
292
# File 'lib/fizzbuzzer.rb', line 283

def fizzbuzz
  (1..100).map do |n|
    FizzBuzz.([n % 3, n % 5, n]) do |m|
      m.fizzbuzz { |v| v }
      m.fizz     { |v| v }
      m.buzz     { |v| v }
      m.other    { |v| v }
    end
  end
end