diff --git a/app/models/comment.rb b/app/models/comment.rb index 1029e4bc3..af10726bd 100644 --- a/app/models/comment.rb +++ b/app/models/comment.rb @@ -2,7 +2,7 @@ class Comment include MongoMapper::Document include ROXML xml_accessor :text - + xml_accessor :person, :as => Person key :text, String key :target, String diff --git a/app/models/person.rb b/app/models/person.rb index 73161780b..1e7dd0f2b 100644 --- a/app/models/person.rb +++ b/app/models/person.rb @@ -4,7 +4,8 @@ class Person xml_accessor :email xml_accessor :url - + xml_accessor :profile, :as => Profile + key :email, String key :url, String diff --git a/app/models/post.rb b/app/models/post.rb index e5974f4c6..5cd679503 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -6,6 +6,7 @@ class Post include Diaspora::Webhooks xml_accessor :_id + xml_accessor :person, :as => Person key :person_id, ObjectId diff --git a/app/models/profile.rb b/app/models/profile.rb index 0e4e6c913..13febaaf3 100644 --- a/app/models/profile.rb +++ b/app/models/profile.rb @@ -1,6 +1,10 @@ class Profile include MongoMapper::Document - + include ROXML + + xml_accessor :first_name + xml_accessor :last_name + key :first_name, String key :last_name, String diff --git a/spec/models/person_spec.rb b/spec/models/person_spec.rb index 97ed93418..59ef0c21c 100644 --- a/spec/models/person_spec.rb +++ b/spec/models/person_spec.rb @@ -13,4 +13,14 @@ describe Person do friend.valid?.should == false end + it 'should serialize to xml' do + friend_one = Factory.create(:friend) + xml = friend_one.to_xml.to_s + (xml.include? "friend").should == true + end + it 'should have a profile in its xml' do + user = Factory.create(:user) + xml = user.to_xml.to_s + (xml.include? "first_name").should == true + end end diff --git a/spec/models/post_spec.rb b/spec/models/post_spec.rb index b3df7552f..93deadc99 100644 --- a/spec/models/post_spec.rb +++ b/spec/models/post_spec.rb @@ -77,6 +77,11 @@ describe Post do friend_posts.count.should == 2 end end - + describe 'xml' do + it 'should serialize to xml with its person' do + message = Factory.create(:status_message, :person => @user) + (message.to_xml.to_s.include? @user.email).should == true + end + end end