Chris@1115: api.membership do Chris@1115: api.id @member.id Chris@1115: api.project :id => @member.project.id, :name => @member.project.name Chris@1115: api.__send__ @member.principal.class.name.underscore, :id => @member.principal.id, :name => @member.principal.name Chris@1115: api.array :roles do Chris@1115: @member.member_roles.each do |member_role| Chris@1115: if member_role.role Chris@1115: attrs = {:id => member_role.role.id, :name => member_role.role.name} Chris@1115: attrs.merge!(:inherited => true) if member_role.inherited_from.present? Chris@1115: api.role attrs Chris@1115: end Chris@1115: end Chris@1115: end Chris@1115: end