class Dependabot::Bundler::FileUpdater::GemspecUpdater
Attributes
dependencies[R]
gemspec[R]
Public Class Methods
new(dependencies:, gemspec:)
click to toggle source
# File lib/dependabot/bundler/file_updater/gemspec_updater.rb, line 11 def initialize(dependencies:, gemspec:) @dependencies = dependencies @gemspec = gemspec end
Public Instance Methods
updated_gemspec_content()
click to toggle source
# File lib/dependabot/bundler/file_updater/gemspec_updater.rb, line 16 def updated_gemspec_content content = gemspec.content dependencies.each do |dependency| content = replace_gemspec_version_requirement( gemspec, dependency, content ) end content end
Private Instance Methods
replace_gemspec_version_requirement(gemspec, dependency, content)
click to toggle source
# File lib/dependabot/bundler/file_updater/gemspec_updater.rb, line 32 def replace_gemspec_version_requirement(gemspec, dependency, content) return content unless requirement_changed?(gemspec, dependency) updated_requirement = dependency.requirements. find { |r| r[:file] == gemspec.name }. fetch(:requirement) previous_requirement = dependency.previous_requirements. find { |r| r[:file] == gemspec.name }. fetch(:requirement) RequirementReplacer.new( dependency: dependency, file_type: :gemspec, updated_requirement: updated_requirement, previous_requirement: previous_requirement ).rewrite(content) end
requirement_changed?(file, dependency)
click to toggle source
# File lib/dependabot/bundler/file_updater/gemspec_updater.rb, line 53 def requirement_changed?(file, dependency) changed_requirements = dependency.requirements - dependency.previous_requirements changed_requirements.any? { |f| f[:file] == file.name } end