Class: Dependabot::Composer::PackageManager

Inherits:
PackageManagerBase
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/dependabot/composer/package_manager.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(version) ⇒ PackageManager

Returns a new instance of PackageManager.



23
24
25
26
27
28
# File 'lib/dependabot/composer/package_manager.rb', line 23

def initialize(version)
  @version = T.let(Version.new(version), Dependabot::Version)
  @name = T.let(PACKAGE_MANAGER, String)
  @deprecated_versions = T.let(DEPRECATED_COMPOSER_VERSIONS, T::Array[Dependabot::Version])
  @supported_versions = T.let(SUPPORTED_COMPOSER_VERSIONS, T::Array[Dependabot::Version])
end

Instance Attribute Details

#deprecated_versionsObject (readonly)

Returns the value of attribute deprecated_versions.



37
38
39
# File 'lib/dependabot/composer/package_manager.rb', line 37

def deprecated_versions
  @deprecated_versions
end

#nameObject (readonly)

Returns the value of attribute name.



31
32
33
# File 'lib/dependabot/composer/package_manager.rb', line 31

def name
  @name
end

#supported_versionsObject (readonly)

Returns the value of attribute supported_versions.



40
41
42
# File 'lib/dependabot/composer/package_manager.rb', line 40

def supported_versions
  @supported_versions
end

#versionObject (readonly)

Returns the value of attribute version.



34
35
36
# File 'lib/dependabot/composer/package_manager.rb', line 34

def version
  @version
end

Instance Method Details

#deprecated?Boolean

Returns:

  • (Boolean)


43
44
45
46
47
48
49
50
# File 'lib/dependabot/composer/package_manager.rb', line 43

def deprecated?
  return false if unsupported?

  # Check if the feature flag for Composer v1 deprecation warning is enabled.
  return false unless Dependabot::Experiments.enabled?(:composer_v1_deprecation_warning)

  deprecated_versions.include?(version)
end

#unsupported?Boolean

Returns:

  • (Boolean)


53
54
55
56
57
58
# File 'lib/dependabot/composer/package_manager.rb', line 53

def unsupported?
  # Check if the feature flag for Composer v1 unsupported error is enabled.
  return false unless Dependabot::Experiments.enabled?(:composer_v1_unsupported_error)

  supported_versions.all? { |supported| supported > version }
end