api.array :contacts, api_meta(:total_count => @contacts_count, :offset => @offset, :limit => @limit) do @contacts.each do |contact| api.contact do api.id contact.id api.is_company contact.is_company api.first_name contact.first_name api.last_name contact.last_name api.middle_name contact.middle_name api.company contact.company api.address contact.address api.website contact.website api.skype_name contact.skype_name api.birthday contact.birthday api.job_title contact.job_title api.background contact.background api.author(:id => contact.author_id, :name => contact.author.name) unless contact.author.nil? api.assigned_to(:id => contact.assigned_to_id, :name => contact.assigned_to.name) unless contact.assigned_to.nil? api.array :phones do contact.phones.each do |phone| api.phone phone end end if contact.phones.any? api.array :emails do contact.emails.each do |email| api.email email end end if contact.emails.any? api.tags contact.tag_list render_api_custom_values contact.custom_field_values, api api.created_on contact.created_on api.updated_on contact.updated_on end end end