Class: Dependabot::Hex::FileUpdater::LockfileUpdater

Inherits:
Object
  • Object
show all
Defined in:
lib/dependabot/hex/file_updater/lockfile_updater.rb

Instance Method Summary collapse

Constructor Details

#initialize(dependencies:, dependency_files:, credentials:) ⇒ LockfileUpdater

Returns a new instance of LockfileUpdater.



17
18
19
20
21
# File 'lib/dependabot/hex/file_updater/lockfile_updater.rb', line 17

def initialize(dependencies:, dependency_files:, credentials:)
  @dependencies = dependencies
  @dependency_files = dependency_files
  @credentials = credentials
end

Instance Method Details

#updated_lockfile_contentObject



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/dependabot/hex/file_updater/lockfile_updater.rb', line 23

def updated_lockfile_content
  @updated_lockfile_content ||=
    SharedHelpers.in_a_temporary_directory do
      write_temporary_dependency_files
      FileUtils.cp(elixir_helper_do_update_path, "do_update.exs")

      SharedHelpers.with_git_configured(credentials: credentials) do
        SharedHelpers.run_helper_subprocess(
          env: mix_env,
          command: "mix run #{elixir_helper_path}",
          function: "get_updated_lockfile",
          args: [Dir.pwd, dependency.name, CredentialHelpers.hex_credentials(credentials)]
        )
      end
    end

  post_process_lockfile(@updated_lockfile_content)
end