Which means:

class <<Person
   def birthday
     '2008-05-16'
   end
end

Is EXACTLY the same as:

class Person
   def self.birthday
     '2008-05-16'
   end
end

Or:

class Person
   class <<self
     def birthday
       '2008-05-16'
     end
   end
end

Thank you very much!
Christoph Schiessl

On May 16, 2008, at 7:10 PM, Todd Benson wrote:

> On Fri, May 16, 2008 at 11:54 AM, Christoph Schiessl <c.schiessl / gmx.net 
> > wrote:
>> I have written a simple snippet of code and would appreciate any  
>> help with
>> understanding what's really going on.
>>
>>
>> ### Creating Basic Class
>> class Person # Same as: class Person < Object
>> attr_accessor :firstname
>> attr_accessor :lastname
>>
>> def initialize(firstname, lastname)
>>   @firstname, @lastname = firstname, lastname
>> end
>>
>> def fullname
>>   @firstname + ' ' + @lastname
>> end
>> end
>>
>> ### Create two instances of class Person
>> john = Person.new('John', 'Doe')
>> john.firstname # => "John"
>> john.lastname # => "Doe"
>> john.to_s # => "#<Person:0x356678>"
>>
>> jack = Person.new('Jack', 'Stone')
>> jack.firstname # => "Jack"
>> jack.lastname # => "Stone"
>> jack.to_s # => "#<Person:0x3512f4>"
>>
>> class Person
>> def to_s
>>   'Person: ' + fullname
>> end
>> end
>>
>> john.to_s # => "Person: John Doe"
>> jack.to_s # => "Person: Jack Stone"
>> ### Everything as expected until here...
>>
>> ### Now the interesing part:
>> class <<Person
>> def birthday
>>   '2008-05-16'
>> end
>> end
>
> You are defining a class method and not a class instance method.  Do  
> this...
>
> class Person
>  def birthday
>    '2008-05-16'
>  end
> end
>
> Todd