Data-structure exploration
I'm not convinced that there is much value in combining the results of three separate problems into one data structure, but I'll play along.

Note that the standard indentation for Ruby is two spaces.

Fibonacci

I don't think it's a good idea to have Fibonacci objects that differ only in their max.  What is the point of the max, anyway?  It just introduces a possible failure if you try to request an entry beyond the max.  Why not have a "smart" singleton that extends itself as necessary?

The get_nth method is a natural candidate for overloading the [] operator, so that you can write Fibonacci[3].

Opinions may differ as to the convention, but I would consider 0 to be the zeroth Fibonacci number, followed by 1, 1, 2, 3, 5, …

class Fibonacci
  @list = [0, 1]

  def self.[](nth)
    while @list.size &lt;= nth
      @list &lt;&lt; @list[-2] + @list[-1]
    end
    @list[nth]
  end
end


FizzBuzz

It would probably be a good idea to make FizzBuzz adhere to the same interface as Fibonacci.

Your results are sometimes numbers and sometimes strings.  That's allowable, but not a practice that I would recommend.

The conditions can be written a bit more succinctly using the value if condition syntax and implicit return.

class FizzBuzz
  def self.[](n)
    output = ''
    output += 'Fizz' if n % 3 == 0
    output += 'Buzz' if n % 5 == 0
    output = n.to_s if output.empty?
    output
  end
end


numbers

Instead of appending to an empty array, build it "all at once" using Range#collect.

numbers = (1..100).collect do |n|
  {
    :Number =&gt; n,
    :FizzBuzz =&gt; FizzBuzz[n],
    :Prime =&gt; Prime.instance.prime?(n),
    :Fibonacci =&gt; Fibonacci[n]
  }
end