class Dependabot::Hex::FileUpdater::MixfileRequirementUpdater
Attributes
dependency_name[R]
mixfile_content[R]
previous_requirement[R]
updated_requirement[R]
Public Class Methods
new(dependency_name:, mixfile_content:, previous_requirement:, updated_requirement:, insert_if_bare: false)
click to toggle source
# File lib/dependabot/hex/file_updater/mixfile_requirement_updater.rb, line 10 def initialize(dependency_name:, mixfile_content:, previous_requirement:, updated_requirement:, insert_if_bare: false) @dependency_name = dependency_name @mixfile_content = mixfile_content @previous_requirement = previous_requirement @updated_requirement = updated_requirement @insert_if_bare = insert_if_bare end
Public Instance Methods
updated_content()
click to toggle source
# File lib/dependabot/hex/file_updater/mixfile_requirement_updater.rb, line 20 def updated_content updated_content = update_requirement(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_requirement_updater.rb, line 62 def content_should_change? return false if previous_requirement == updated_requirement previous_requirement || insert_if_bare? end
insert_if_bare?()
click to toggle source
# File lib/dependabot/hex/file_updater/mixfile_requirement_updater.rb, line 33 def insert_if_bare? !@insert_if_bare.nil? end
update_requirement(content)
click to toggle source
# File lib/dependabot/hex/file_updater/mixfile_requirement_updater.rb, line 37 def update_requirement(content) return content if previous_requirement.nil? && !insert_if_bare? requirement_line_regex = if previous_requirement / :#{Regexp.escape(dependency_name)}\s*,.* #{Regexp.escape(previous_requirement)} /x else /:#{Regexp.escape(dependency_name)}(,|\s|\})/ end content.gsub(requirement_line_regex) do |requirement_line| if previous_requirement requirement_line.gsub(previous_requirement, updated_requirement) else requirement_line.gsub( ":#{dependency_name}", ":#{dependency_name}, \"#{updated_requirement}\"" ) end end end