class Dependabot::PullRequestCreator::BranchNamer::DependencyGroupStrategy
def dependency_digest
def dependency_digest @dependency_digest ||= T.let( Digest::MD5.hexdigest(dependencies.map do |dependency| "#{dependency.name}-#{dependency.removed? ? 'removed' : dependency.version}" end.sort.join(",")).slice(0, 10), T.nilable(String) ) end
def directory
def directory return if files.empty? T.must(files.first).directory.tr(" ", "-") end
def group_name_with_dependency_digest
def group_name_with_dependency_digest if @includes_security_fixes "group-security-#{package_manager}-#{dependency_digest}" else "#{dependency_group.name}-#{dependency_digest}" end end
def initialize(dependencies:, files:, target_branch:, dependency_group:, includes_security_fixes:,
def initialize(dependencies:, files:, target_branch:, dependency_group:, includes_security_fixes:, separator: "/", prefix: "dependabot", max_length: nil) super( dependencies: dependencies, files: files, target_branch: target_branch, separator: separator, prefix: prefix, max_length: max_length, ) @dependency_group = dependency_group @includes_security_fixes = includes_security_fixes end
def new_branch_name
def new_branch_name sanitize_branch_name(File.join(prefixes, group_name_with_dependency_digest)) end
def package_manager
def package_manager T.must(dependencies.first).package_manager end
def prefixes
def prefixes [ prefix, package_manager, directory, target_branch ].compact end