class CompareLinker
Public Instance Methods
make_compare_links()
click to toggle source
# File lib/jenkins/bundle/update/pr.rb, line 9 def make_compare_links if octokit.pull_request_files(repo_full_name, pr_number).find do |resource| resource.filename == 'config/Gemfile.lock' || resource.filename == 'Gemfile.lock' end pull_request = octokit.pull_request(repo_full_name, pr_number) fetcher = LockfileFetcher.new(octokit) old_lockfile = fetcher.fetch(repo_full_name, pull_request.base.sha) new_lockfile = fetcher.fetch(repo_full_name, pull_request.head.sha) comparator = LockfileComparator.new comparator.compare(old_lockfile, new_lockfile) @compare_links = comparator.updated_gems.map { |gem_name, gem_info| if gem_info[:owner].nil? finder = GithubLinkFinder.new(octokit, gem_dictionary) finder.find(gem_name) gem_info[:homepage_uri] = finder.homepage_uri if finder.repo_owner.nil? formatter.format(gem_info) else gem_info[:repo_owner] = finder.repo_owner gem_info[:repo_name] = finder.repo_name tag_finder = GithubTagFinder.new(octokit, gem_name, finder.repo_full_name) old_tag = tag_finder.find(gem_info[:old_ver]) new_tag = tag_finder.find(gem_info[:new_ver]) if old_tag && new_tag gem_info[:old_tag] = old_tag.name gem_info[:new_tag] = new_tag.name formatter.format(gem_info) else formatter.format(gem_info) end end else formatter.format(gem_info) end } @compare_links end end