class Dependabot::Hex::FileUpdater::MixfileGitPinUpdater
Attributes
dependency_name[R]
mixfile_content[R]
previous_pin[R]
updated_pin[R]
Public Class Methods
new(dependency_name:, mixfile_content:, previous_pin:, updated_pin:)
click to toggle source
# File lib/dependabot/hex/file_updater/mixfile_git_pin_updater.rb, line 10 def initialize(dependency_name:, mixfile_content:, previous_pin:, updated_pin:) @dependency_name = dependency_name @mixfile_content = mixfile_content @previous_pin = previous_pin @updated_pin = updated_pin end
Public Instance Methods
updated_content()
click to toggle source
# File lib/dependabot/hex/file_updater/mixfile_git_pin_updater.rb, line 18 def updated_content updated_content = update_pin(mixfile_content) raise "Expected content to change!" if content_should_change? && mixfile_content == updated_content updated_content end
Private Instance Methods
content_should_change?()
click to toggle source
# File lib/dependabot/hex/file_updater/mixfile_git_pin_updater.rb, line 43 def content_should_change? previous_pin == updated_pin end
update_pin(content)
click to toggle source
# File lib/dependabot/hex/file_updater/mixfile_git_pin_updater.rb, line 31 def update_pin(content) requirement_line_regex = / \{\s*:#{Regexp.escape(dependency_name)},[^\}]* (?:ref|tag):\s+["']#{Regexp.escape(previous_pin)}["'] /mx content.gsub(requirement_line_regex) do |requirement_line| requirement_line.gsub(previous_pin, updated_pin) end end