class Dependabot::Gradle::FileUpdater::DependencySetUpdater
Attributes
dependency_files[R]
Public Class Methods
new(dependency_files:)
click to toggle source
# File lib/dependabot/gradle/file_updater/dependency_set_updater.rb, line 10 def initialize(dependency_files:) @dependency_files = dependency_files end
Public Instance Methods
update_files_for_dep_set_change(dependency_set:, buildfile:, previous_requirement:, updated_requirement:)
click to toggle source
# File lib/dependabot/gradle/file_updater/dependency_set_updater.rb, line 14 def update_files_for_dep_set_change(dependency_set:, buildfile:, previous_requirement:, updated_requirement:) declaration_string = original_declaration_string(dependency_set, buildfile) return dependency_files unless declaration_string updated_content = buildfile.content.sub( declaration_string, declaration_string.sub( previous_requirement, updated_requirement ) ) updated_files = dependency_files.dup updated_files[updated_files.index(buildfile)] = update_file(file: buildfile, content: updated_content) updated_files end
Private Instance Methods
original_declaration_string(dependency_set, buildfile)
click to toggle source
# File lib/dependabot/gradle/file_updater/dependency_set_updater.rb, line 42 def original_declaration_string(dependency_set, buildfile) regex = Gradle::FileParser::DEPENDENCY_SET_DECLARATION_REGEX dependency_sets = [] buildfile.content.scan(regex) do dependency_sets << Regexp.last_match.to_s end dependency_sets.find do |mtch| next unless mtch.include?(dependency_set[:group]) mtch.include?(dependency_set[:version]) end end
update_file(file:, content:)
click to toggle source
# File lib/dependabot/gradle/file_updater/dependency_set_updater.rb, line 56 def update_file(file:, content:) updated_file = file.dup updated_file.content = content updated_file end