Class: Dependabot::Deno::FileUpdater::ManifestUpdater

Inherits:
Object
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/dependabot/deno/file_updater/manifest_updater.rb

Instance Method Summary collapse

Constructor Details

#initialize(dependencies:, manifest:) ⇒ ManifestUpdater

Returns a new instance of ManifestUpdater.



22
23
24
25
# File 'lib/dependabot/deno/file_updater/manifest_updater.rb', line 22

def initialize(dependencies:, manifest:)
  @dependencies = dependencies
  @manifest = manifest
end

Instance Method Details

#updated_manifest_contentObject



28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/dependabot/deno/file_updater/manifest_updater.rb', line 28

def updated_manifest_content
  content = T.must(manifest.content).dup

  dependencies.each do |dep|
    prev_reqs = (dep.previous_requirements || []).select { |r| r[:file] == manifest.name }
    new_reqs = dep.requirements.select { |r| r[:file] == manifest.name }

    prev_reqs.zip(new_reqs).each do |prev_req, new_req|
      content = apply_substitution(content, dep, prev_req, T.must(new_req))
    end
  end

  content
end