#coding=utf-8 namespace :gitlab do desc "sync gitlab's users which lost in last sync" task :query => :environment do g = Gitlab.client projects = Project.all users_email = User.find_by_sql("select mail from users where mail != '' ") projects.each do|project| gpid = project.gpid begin contributors_list = g.contributors(gpid) rescue next end puts "project_id #{project.id}" contributors_list.each do|contributor| if users_email.include?(contributor.email) contributors_list.delete(contributor) end end contributors_list.each do|contributor| puts "name #{contributor.name}" puts "email #{contributor.email}" puts "commits_count #{contributor.commits}" end end end end