Skip to content

Commit e05660b

Browse files
committed
break out some of the nested loops and checks into their own methods
1 parent bb6491b commit e05660b

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

lib/travis/github/sync/repositories.rb

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,17 +52,27 @@ def remove
5252

5353
# we have to filter these ourselves because the github api is broken for this
5454
def data
55-
@data ||= filter_duplicates(fetch.select { |repo| repo['private'] == self.class.private? })
55+
@data ||= filter_duplicates(filter_based_on_repo_permission)
56+
end
57+
58+
def filter_based_on_repo_permission
59+
fetch.select { |repo| repo['private'] == self.class.private? }
5660
end
5761

5862
def filter_duplicates(repositories)
5963
repositories.each_with_object([]) do |repository, filtered_list|
60-
if filtered_list.none? {|r| same_repository_with_admin?(r, repository) }
64+
unless in_filtered_list?(filtered_list, repository)
6165
filtered_list.push(repository)
6266
end
6367
end
6468
end
6569

70+
def in_filtered_list?(filtered_list, other_repository)
71+
filtered_list.any? do |existing_repository|
72+
same_repository_with_admin?(existing_repository, other_repository)
73+
end
74+
end
75+
6676
def same_repository_with_admin?(existing_repository, other_repository)
6777
existing_repository['owner']['login'] == other_repository['owner']['login'] and
6878
existing_repository['name'] == other_repository['name'] and

0 commit comments

Comments
 (0)