cardoni
4/14/2015 - 9:03 AM

quick ruby fizzbuzz

quick ruby fizzbuzz

# encoding: UTF-8

class FizzBuzz

  def initialize( times=100 )
    @times = times.to_i
  end

  def count
    ( 1..@times ).count
  end

  def start
    ( 1..@times ).each do | number |
      fizzbuzz( number )
    end
  end

  def fizzbuzz( number )
    number = number.to_i

    result = ''

    if number % 3 == 0
      result += 'Fizz'
    end

    if number % 5 == 0
      result += 'Buzz'
    end

    if result.empty?
      result = number
    end

    puts "#{number}. #{result}"
  end
end

fb = FizzBuzz.new()
# fb = FizzBuzz.new( 500 )   # or, pass more than 100 in....

puts "Count of items to print: #{fb.count}"

fb.start