From d9e646a796795de43b23a27b74289f44255810e3 Mon Sep 17 00:00:00 2001
From: tiagonbotelho <tiagonbotelho@hotmail.com>
Date: Mon, 29 Feb 2016 16:50:59 +0000
Subject: [PATCH] moves method to repository model

---
 app/models/project.rb    |  8 +-------
 app/models/repository.rb | 12 ++++++++++++
 2 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/app/models/project.rb b/app/models/project.rb
index 92aef8a60f4..3b565ef809a 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -947,12 +947,6 @@ class Project < ActiveRecord::Base
   end
 
   def main_language
-    unless empty_repo?
-      Rails.cache.fetch([self, "language"]) do
-        Linguist::Repository.new(
-          @repository.rugged, 
-          @repository.rugged.head.target_id).language
-      end
-    end
+    @main_language = repository.main_language
   end
 end
diff --git a/app/models/repository.rb b/app/models/repository.rb
index c135ab61f6a..f911611acab 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -812,6 +812,18 @@ class Repository
     raw_repository.ls_files(actual_ref)
   end
 
+  def main_language
+    return @main_language unless @main_language.nil? 
+
+    unless empty?
+      @main_language = cache.fetch(:main_language) do
+        Linguist::Repository.new(
+          rugged,
+          rugged.head.target_id).language
+      end
+    end
+  end
+
   private
 
   def cache
-- 
GitLab