Class: Dependabot::Maven::UpdateChecker::PropertyUpdater

Inherits:
Object
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/dependabot/maven/update_checker/property_updater.rb

Instance Method Summary collapse

Constructor Details

#initialize(dependency:, dependency_files:, credentials:, ignored_versions:, target_version_details:, update_cooldown: nil) ⇒ PropertyUpdater

Returns a new instance of PropertyUpdater.



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/dependabot/maven/update_checker/property_updater.rb', line 29

def initialize(
  dependency:,
  dependency_files:,
  credentials:,
  ignored_versions:,
  target_version_details:,
  update_cooldown: nil
)
  @dependency       = dependency
  @dependency_files = dependency_files
  @credentials      = credentials
  @ignored_versions = ignored_versions
  @target_version   = T.let(target_version_details&.fetch(:version), T.nilable(Dependabot::Maven::Version))
  @source_url       = T.let(target_version_details&.fetch(:source_url), T.nilable(String))
  @update_cooldown = update_cooldown
end

Instance Method Details

#update_possible?Boolean

Returns:

  • (Boolean)


47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/dependabot/maven/update_checker/property_updater.rb', line 47

def update_possible?
  return false unless target_version
  return T.must(@update_possible) if defined?(@update_possible)

  @update_possible ||= T.let(
    dependencies_using_property.all? do |dep|
      next false if includes_property_reference?(updated_version(dep))

      releases = VersionFinder.new(
        dependency: dep,
        dependency_files: dependency_files,
        credentials: credentials,
        ignored_versions: ignored_versions,
        security_advisories: [],
        cooldown_options: update_cooldown
      ).releases

      versions = releases.map(&:version)

      versions.include?(updated_version(dep)) || versions.none?
    end,
    T.nilable(T::Boolean)
  )
end

#updated_dependenciesObject



73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/dependabot/maven/update_checker/property_updater.rb', line 73

def updated_dependencies
  raise "Update not possible!" unless update_possible?

  @updated_dependencies ||= T.let(
    dependencies_using_property.map do |dep|
      Dependency.new(
        name: dep.name,
        version: updated_version(dep),
        requirements: updated_requirements(dep),
        previous_version: dep.version,
        previous_requirements: dep.requirements,
        package_manager: dep.package_manager
      )
    end,
    T.nilable(T::Array[Dependabot::Dependency])
  )
end