Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 17th, 2012  |  syntax: None  |  size: 0.82 KB  |  hits: 9  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. include MongoMapper::EmbeddedDocument
  2. class User
  3.   include MongoMapper::Document
  4.   one :person, :class_name => 'Person', :foreign_key => :owner_id
  5. end
  6.  
  7. class Person
  8.   include MongoMapper::Document
  9.   include ROXML
  10.  
  11.   xml_accessor :_id
  12.   xml_accessor :email
  13.   xml_accessor :url
  14.   xml_accessor :profile, :as => Profile
  15.  
  16.   key :email, String, :unique => true
  17.   key :url, String
  18.   key :owner_id, ObjectId
  19.  
  20.   belongs_to :owner, :class_name => 'User'
  21.   one :profile, :class_name => 'Profile'
  22. end
  23.  
  24. class Profile
  25.   include MongoMapper::EmbeddedDocument
  26.   include ROXML
  27.  
  28.   xml_reader :person_id
  29.   xml_accessor :first_name
  30.   xml_accessor :last_name
  31.   xml_accessor :image_url
  32.  
  33.   key :first_name, String
  34.   key :last_name, String
  35.   key :image_url, String
  36. end
  37.        
  38. def real_name
  39.   "#{person.profile.first_name.to_s} #{person.profile.last_name.to_s}"
  40. end