class LockDiff::Github::ChangelogUrlFinder

Public Class Methods

new(repository:, repository_url:, ref:, package_name:) click to toggle source
# File lib/lock_diff/github/changelog_url_finder.rb, line 4
def initialize(repository:, repository_url:, ref:, package_name:)
  @repository = repository
  @repository_url = repository_url
  @ref = ref
  @package_name = package_name
end

Public Instance Methods

call() click to toggle source
# File lib/lock_diff/github/changelog_url_finder.rb, line 11
def call
  directories.flat_map(&:change_log_urls).push(find_release_url).compact
end

Private Instance Methods

directories() click to toggle source
# File lib/lock_diff/github/changelog_url_finder.rb, line 17
def directories
  [
    Directory.new(@repository, @ref),
    Directory.new(@repository, @ref, path: @package_name),
    Directory.new(@repository, @ref, path: "gems/#{@package_name}"),
    Directory.new(@repository, @ref, path: 'docs')
  ]
end
find_release_url() click to toggle source
# File lib/lock_diff/github/changelog_url_finder.rb, line 26
def find_release_url
  return unless @repository_url
  unless Github.client.exist_releases?(@repository)
    @repository_url + "/releases"
  end
end