>>>>> "E" == Eustaquio Rangel de Oliveira <eustaquiorangel / yahoo.com> writes: E> Sorry if I'm missing some point here, because I'm a Ruby newbie, but is E> that correct? I mean, seems that we need to write more code with this kind E> of behaviour. it's strange your model :-))) class CarBuilder def self.inherited(kl) kl.instance_eval { @total_of_cars = 0 } super end def build puts "#{self.class} building another car ..." self.class.instance_eval { @total_of_cars += 1 } end def total_of_cars "#{self.class} built #{self.class.instance_eval { @total_of_cars }} cars" end end class Honda < CarBuilder end class Ford < CarBuilder end Guy Decoux