compute_stats

in lib/linguist/repository.rb [65:93]


    def compute_stats
      return if @computed_stats

      @enum.each do |blob|
        
        next if blob.likely_binary?

        
        next if blob.vendored? || blob.generated? || blob.language.nil?

        
        if blob.language.type == :programming || Language.detectable_markup.include?(blob.language.name)
          @sizes[blob.language.group] += blob.size
        end
      end

      
      @size = @sizes.inject(0) { |s,(_,v)| s + v }

      
      if primary = @sizes.max_by { |(_, size)| size }
        @language = primary[0]
      end

      @computed_stats = true

      nil
    end