user = render_cache_commit_author(contributor)
if user.present?
  if user.is_a?(Hash)
    json.contributions contributor["commits"] || contributor["contributions"]
    json.id user["id"]
    json.login user["login"]
    json.email user["email"]
    json.type user["type"]
    json.name (user["name"] || contributor["name"] || contributor["login"]).to_s.downcase
    json.image_url user["avatar_url"]
    db_user = User.find_by_id(user["id"])
    json.contribution_perc db_user.simple_contribution_perc(project, contributor["contribution_perc"]) if db_user.present?
  else
    json.contributions contributor["commits"] || contributor["contributions"]
    json.id user.id
    json.login user.login
    json.email user.mail
    json.type user.type
    json.name (user["name"] || contributor["name"] || contributor["login"]).to_s.downcase
    json.image_url url_to_avatar(user)
    json.contribution_perc user.simple_contribution_perc(project, contributor["contribution_perc"]) if user.present?
  end
else
  json.contributions contributor["commits"] || contributor["contributions"]
  json.id nil
  json.login nil
  json.type nil
  json.name (contributor["name"] || contributor["login"]).to_s.downcase
  json.email contributor["email"]
  json.image_url User::Avatar.get_letter_avatar_url(contributor["name"] || contributor["login"])
  json.contribution_perc User.new(login: (contributor["name"] || contributor["login"]), mail: contributor["email"]).simple_contribution_perc(project, contributor["contribution_perc"])
end

