class Dependabot::Config::FileFetcher

Constants

CONFIG_FILE_PATHS

Public Class Methods

required_files_in?(filenames) click to toggle source
# File lib/dependabot/config/file_fetcher.rb, line 11
def self.required_files_in?(filenames)
  CONFIG_FILE_PATHS.any? { |file| filenames.include?(file) }
end
required_files_message() click to toggle source
# File lib/dependabot/config/file_fetcher.rb, line 15
def self.required_files_message
  "Repo must contain either a #{CONFIG_FILE_PATHS.join(' or a ')} file"
end

Public Instance Methods

config_file() click to toggle source
# File lib/dependabot/config/file_fetcher.rb, line 19
def config_file
  @config_file ||= files.first
end

Private Instance Methods

fetch_files() click to toggle source
# File lib/dependabot/config/file_fetcher.rb, line 25
def fetch_files
  fetched_files = []

  CONFIG_FILE_PATHS.each do |file|
    fn = Pathname.new("/#{file}").relative_path_from(directory)

    begin
      config_file = fetch_file_from_host(fn)
      if config_file
        fetched_files << config_file
        break
      end
    rescue Dependabot::DependencyFileNotFound
      next
    end
  end

  unless self.class.required_files_in?(fetched_files.map(&:name))
    raise Dependabot::DependencyFileNotFound, self.class.required_files_message
  end

  fetched_files
end