class Dependabot::Bundler::FileUpdater::GemspecSanitizer

Constants

UNNECESSARY_ASSIGNMENTS

Attributes

replacement_version[R]

Public Class Methods

new(replacement_version:) click to toggle source
# File lib/dependabot/bundler/file_updater/gemspec_sanitizer.rb, line 27
def initialize(replacement_version:)
  @replacement_version = replacement_version
end

Public Instance Methods

rewrite(content) click to toggle source
# File lib/dependabot/bundler/file_updater/gemspec_sanitizer.rb, line 31
def rewrite(content)
  buffer = Parser::Source::Buffer.new("(gemspec_content)")
  buffer.source = content
  ast = Parser::CurrentRuby.new.parse(buffer)

  updated_content =
    Rewriter.
    new(replacement_version: replacement_version).
    rewrite(buffer, ast)

  # Remove any constants from strings
  updated_content.gsub(
    /#\{[A-Z][^.}]*::[A-Z][^.}]*\}/,
    '#{"' + replacement_version.to_s + '"}'
  )
end