diaspora/app/models/aspect_membership.rb
2011-09-14 11:23:12 -07:00

27 lines
663 B
Ruby

# Copyright (c) 2010-2011, Diaspora Inc. This file is
# licensed under the Affero General Public License version 3 or later. See
# the COPYRIGHT file.
class AspectMembership < ActiveRecord::Base
belongs_to :aspect
belongs_to :contact
has_one :user, :through => :contact
has_one :person, :through => :contact
before_destroy do
if self.contact && self.contact.aspects.size == 1
self.user.disconnect(self.contact)
end
true
end
def as_json(opts={})
{
:id => self.id,
:person_id => self.person.id,
:contact_id => self.contact.id,
:aspect_ids => self.contact.aspects.map{|a| a.id}
}
end
end