Chris@1295: api.group do Chris@1295: api.id @group.id Chris@1295: api.name @group.lastname Chris@1295: Chris@1295: render_api_custom_values @group.visible_custom_field_values, api Chris@1295: Chris@1295: api.array :users do Chris@1295: @group.users.each do |user| Chris@1295: api.user :id => user.id, :name => user.name Chris@1295: end Chris@1295: end if include_in_api_response?('users') Chris@1295: Chris@1295: api.array :memberships do Chris@1295: @group.memberships.each do |membership| Chris@1295: api.membership do Chris@1295: api.id membership.id Chris@1295: api.project :id => membership.project.id, :name => membership.project.name Chris@1295: api.array :roles do Chris@1295: membership.member_roles.each do |member_role| Chris@1295: if member_role.role Chris@1295: attrs = {:id => member_role.role.id, :name => member_role.role.name} Chris@1295: attrs.merge!(:inherited => true) if member_role.inherited_from.present? Chris@1295: api.role attrs Chris@1295: end Chris@1295: end Chris@1295: end Chris@1295: end if membership.project Chris@1295: end Chris@1295: end if include_in_api_response?('memberships') Chris@1295: end