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