I think I understand all of the code in this thread (see below) except for the 
2nd line "attr_reader :name, :total_of_cars".  Could you, or someone, explain 
this line to me, please?

Also, I tried putting this code into a single *.rb file and I couldn't get any 
output.  I did get a few warnings, however:

ex.
./1foo.rb:4: warning: parenthesize argument(s) for future version
./1foo.rb:7: warning: parenthesize argument(s) for future version
./1foo.rb:8: warning: parenthesize argument(s) for future version
./1foo.rb:12: warning: parenthesize argument(s) for future version
./1foo.rb:12: warning: parenthesize argument(s) for future version
./1foo.rb:13: warning: parenthesize argument(s) for future version
./1foo.rb:4: undefined method ` for CarBuilder:Class (NoMethodError)

I guess the warnings mean that some syntax is being deprecated in later 
versions.  Assuming that is correct, I still don't see what is generating the 
last error.  

So, I tried using irb to enter it line by line.  However, when I get down to 
the where I declare the first instance (h = CarBuilder.new "Honda"), irb 
gives me the error, "NameError: uninitialized constant CarBuilder".

Finally, I don't see where you are keeping up with the actual total of cars 
built by all manufacturers.  So, for practice, I was going to try to extend 
this code to handle that.  Would the proper way to do that be to declare a 
class variable (like @@collective_total = 0) and put it somewhere inside of 
the class (like right after the attr_reader . . . line)?  Then, inside of the 
build method, bump the collective_total?

Thanks,
Darren

> class CarBuilder
>   attr_reader :name, :total_of_cars
>
>   def initialize(name)
>     @name = name
>     @total_of_cars = 0
>   end
>
>   def build
>     puts "#{name} builds another car"
>     @total_of_cars += 1
>   end
> end
>
> h = CarBuilder.new "Honda"
> f = CarBuilder.new "Ford"
>
> h.total_of_cars
> f.total_of_cars
>
> h.build
> h.build
> h.build
> f.build
>
> h.total_of_cars
> f.total_of_cars
>
>
> ?> h = CarBuilder.new "Honda"
> => #<CarBuilder:0x101865d0 @name="Honda", @total_of_cars=0>
>
> >> f = CarBuilder.new "Ford"
>
> => #<CarBuilder:0x10183af8 @name="Ford", @total_of_cars=0>
>
> ?> h.total_of_cars
> => 0
>
> >> f.total_of_cars
>
> => 0
>
> ?> h.build
> Honda builds another car
> => 1
>
> >> h.build
>
> Honda builds another car
> => 2
>
> >> h.build
>
> Honda builds another car
> => 3
>
> >> f.build
>
> Ford builds another car
> => 1
>
> ?> h.total_of_cars
> => 3
>
> >> f.total_of_cars
>
> => 1
>
> Regards
>
>     robert