Class: Dependabot::Python::PoetryPackageManager

Inherits:
Ecosystem::VersionManager
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/dependabot/python/package_manager.rb

Constant Summary collapse

NAME =
"poetry"
LOCKFILE_NAME =
"poetry.lock"
POETRY_V1 =
"1"
POETRY_V2 =
"2"
SUPPORTED_VERSIONS =

Keep versions in ascending order

T.let(
  [
    Version.new(POETRY_V1),
    Version.new(POETRY_V2)
  ].freeze,
  T::Array[Dependabot::Version]
)
DEPRECATED_VERSIONS =
T.let([Version.new(POETRY_V1)].freeze, T::Array[Dependabot::Version])

Instance Method Summary collapse

Constructor Details

#initialize(raw_version, requirement = nil) ⇒ PoetryPackageManager

Returns a new instance of PoetryPackageManager.



80
81
82
83
84
85
86
87
88
89
90
# File 'lib/dependabot/python/package_manager.rb', line 80

def initialize(raw_version, requirement = nil)
  version = Version.new(raw_version)
  super(
    name: NAME,
    detected_version: Version.new(T.must(version.segments.first).to_s),
    version: version,
    deprecated_versions: DEPRECATED_VERSIONS,
    supported_versions: SUPPORTED_VERSIONS,
    requirement: requirement,
 )
end

Instance Method Details

#raise_if_unsupported!Object

Raises:

  • (Dependabot::ToolVersionNotSupported)


95
96
97
98
99
100
101
102
103
104
105
106
# File 'lib/dependabot/python/package_manager.rb', line 95

def raise_if_unsupported!
  super
  return unless requirement
  return unless version
  return if T.cast(T.must(requirement).satisfied_by?(T.must(version)), T::Boolean)

  raise Dependabot::ToolVersionNotSupported.new(
    NAME,
    version.to_s,
    requirement.to_s
  )
end