Custom method in model to return an object

Hi! I am new to rails(and ruby) and I have a C background, and I would like some help.

In the database I have a field named 'body' that has an XML in it. The method I created in the model looks like this:

def self.get_personal_data_module(person_id)   person_module = find_by_person_id(person_id)   item_module = Hpricot(person_module.body)     personal_info = Array.new     personal_info = {:studies => (item_module/"studies").inner_html,           :birth_place => (item_module/"birth_place").inner_html,         :marrital_status => (item_module/"marrital_status").inner_html}     return personal_info end

I want the function to return an object instead of an array. So I can use Module.studies instead of Model[:studies].

Thank you for your time. Silviu

I want the function to return an object instead of an array. So I can use Module.studies instead of Model[:studies].

you can create a new class and return it:

class PersonalInfo   attr_accessor :studies, :birth_place, :marital_status end

def self.get_personal_data_module(person_id)         person_module = find_by_person_id(person_id)         item_module = Hpricot(person_module.body)         personal_info = PersonalInfo.new         personal_info.studies = (item_module/"studies").inner_html         personal_info.birth_place = (item_module/"birth_place").inner_html         personal_info.marrital_status = (item_module/"marrital_status").inner_html}         return personal_info end