diff --git a/judges/dimensions-of-terrain/total_commits.rb b/judges/dimensions-of-terrain/total_commits.rb index 6d3a7e5fd0..58746f5e4f 100644 --- a/judges/dimensions-of-terrain/total_commits.rb +++ b/judges/dimensions-of-terrain/total_commits.rb @@ -18,7 +18,7 @@ def total_commits(_fact) repos = [] Fbe.unmask_repos do |repo| json = Fbe.octo.repository(repo) - next if json[:size].zero? + next if json[:size].nil? || json[:size].zero? repos << [*repo.split('/'), json[:default_branch]] end commits = Fbe.github_graph.total_commits(repos:).sum { _1['total_commits'] } unless repos.empty? diff --git a/judges/dimensions-of-terrain/total_contributors.rb b/judges/dimensions-of-terrain/total_contributors.rb index 1a72624fb8..eb638c92dc 100644 --- a/judges/dimensions-of-terrain/total_contributors.rb +++ b/judges/dimensions-of-terrain/total_contributors.rb @@ -20,7 +20,8 @@ def total_contributors(_fact) contributors = Set.new Fbe.unmask_repos do |repo| - next if Fbe.octo.repository(repo)[:size].zero? + json = Fbe.octo.repository(repo) + next if json[:size].nil? || json[:size].zero? Fbe.octo.contributors(repo).each do |contributor| contributors << contributor[:id] end diff --git a/judges/dimensions-of-terrain/total_files.rb b/judges/dimensions-of-terrain/total_files.rb index f075cb5a8c..feb2748855 100644 --- a/judges/dimensions-of-terrain/total_files.rb +++ b/judges/dimensions-of-terrain/total_files.rb @@ -20,7 +20,7 @@ def total_files(_fact) files = 0 Fbe.unmask_repos do |repo| repo_info = Fbe.octo.repository(repo) - next if repo_info[:size].zero? + next if repo_info[:size].nil? || repo_info[:size].zero? Fbe.octo.tree(repo, repo_info[:default_branch], recursive: true).then do |json| files += json[:tree].count { |item| item[:type] == 'blob' } end diff --git a/test/judges/test-dimensions-of-terrain.rb b/test/judges/test-dimensions-of-terrain.rb index 20b3b948ff..70b49f715a 100644 --- a/test/judges/test-dimensions-of-terrain.rb +++ b/test/judges/test-dimensions-of-terrain.rb @@ -274,8 +274,16 @@ def test_total_issues_and_pull_requests def test_total_commits WebMock.disable_net_connect! fb = Factbase.new - load_it('dimensions-of-terrain', fb, - Judges::Options.new({ 'repositories' => 'foo/foo,yegor256/empty-repo', 'testing' => true })) + load_it( + 'dimensions-of-terrain', + fb, + Judges::Options.new( + { + 'repositories' => 'foo/foo,yegor256/empty-repo,yegor256/nil-size-repo', + 'testing' => true + } + ) + ) f = fb.query("(eq what 'dimensions-of-terrain')").each.first assert_equal(1484, f.total_commits) end