From: Kris Helenek Date: 2007-04-19T00:48:16+09:00 Subject: to_s mixin/reflection/newbie stuff I'm very new to ruby, coming from a long j2ee background. I hope these questions make sense and aren't covered elsewhere (i looked, really.) I'm creating a project in rails and i have several model objects that I want to override the to_s method on. It looks like using a "mixin" or module is the way to go since i don't want to write a new to_s for every model class that i have to update every time i make a change to the db. In java my model classes would use reflection to discover all the instance variables and concatenate them together (the apache commons ToStringBuilder.) I went to accomplish that for my ruby model class but honestly could not figure out how. I was first stumped trying to override the to_s in the first place by putting Class Member def to_s "Member[" + @first_name + ", " + @last_name + "]" end And that fails out on me (@first_name is nil!) Then i switched it to def to_s "Member[" + first_name + ", " + last_name + "]" end And that worked. I don't get it, i thought instance variables always started with the @? So i guess my questions are, why no @ before my instance variables, and how would i write a method that gets all instance variables (and then concatenates them, although i can figure that out. hopefully ;) Thanks -- Posted via http://www.ruby-forum.com/.