diff --git a/bundler/lib/dependabot/bundler/file_parser.rb b/bundler/lib/dependabot/bundler/file_parser.rb index aafa43b3de2..88b2a96d7fe 100644 --- a/bundler/lib/dependabot/bundler/file_parser.rb +++ b/bundler/lib/dependabot/bundler/file_parser.rb @@ -309,12 +309,14 @@ def gemspecs .select { |file| file.name.end_with?(".gemspec") } end + sig { returns(T::Array[Dependabot::DependencyFile]) } def imported_ruby_files dependency_files .select { |f| f.name.end_with?(".rb") } .reject { |f| f.name == "gems.rb" } end + sig { returns(String) } def bundler_version @bundler_version ||= Helpers.bundler_version(lockfile) end diff --git a/bundler/lib/dependabot/bundler/package_manager.rb b/bundler/lib/dependabot/bundler/package_manager.rb index 77f7530ea93..53437ef4c7b 100644 --- a/bundler/lib/dependabot/bundler/package_manager.rb +++ b/bundler/lib/dependabot/bundler/package_manager.rb @@ -22,12 +22,13 @@ module Bundler class PackageManager < PackageManagerBase extend T::Sig - sig { params(version: T.any(String, Dependabot::Version)).void } - def initialize(version) + sig { params(raw_version: String).void } + def initialize(raw_version) super( ECOSYSTEM, PACKAGE_MANAGER, - Version.new(version), + raw_version, + Version.new(raw_version), DEPRECATED_BUNDLER_VERSIONS, SUPPORTED_BUNDLER_VERSIONS ) diff --git a/common/lib/dependabot/package_manager.rb b/common/lib/dependabot/package_manager.rb index 718ac712324..32542e45cec 100644 --- a/common/lib/dependabot/package_manager.rb +++ b/common/lib/dependabot/package_manager.rb @@ -13,27 +13,31 @@ class PackageManagerBase # Initialize common attributes for all package managers # @param ecosystem [String] the name of the ecosystem (e.g., "npm_and_yarn", "composer"). # @param name [String] the name of the package manager (e.g., "npm", "bundler"). - # @param version [Dependabot::Version] the version of the package manager (e.g., "6.0.0"). + # @param raw_version [String] the version of the package manager (e.g., "6.0.0"). + # @param version [Dependabot::Version] the version of the package manager Version.new("1.0.0"). # @param deprecated_versions [Array] an array of deprecated versions. # @param supported_versions [Array] an array of supported versions. sig do params( ecosystem: String, name: String, + raw_version: String, version: Dependabot::Version, deprecated_versions: T::Array[Dependabot::Version], supported_versions: T::Array[Dependabot::Version] ).void end - def initialize( + def initialize( # rubocop:disable Metrics/ParameterLists ecosystem, name, + raw_version, version, deprecated_versions = [], supported_versions = [] ) @ecosystem = T.let(ecosystem, String) @name = T.let(name, String) + @raw_version = T.let(raw_version, String) @version = T.let(version, Dependabot::Version) @deprecated_versions = T.let(deprecated_versions, T::Array[Dependabot::Version]) @supported_versions = T.let(supported_versions, T::Array[Dependabot::Version]) @@ -51,6 +55,12 @@ def initialize( sig { returns(String) } attr_reader :name + # The version of the package manager (e.g., "6.0.0"). + # @example + # package_manager.version #=> "6.0.0" + sig { returns(String) } + attr_reader :raw_version + # The version of the package manager (e.g., "6.0.0"). # @example # package_manager.version #=> "6.0.0" diff --git a/composer/lib/dependabot/composer/package_manager.rb b/composer/lib/dependabot/composer/package_manager.rb index 4045cb84285..e57ccbd798a 100644 --- a/composer/lib/dependabot/composer/package_manager.rb +++ b/composer/lib/dependabot/composer/package_manager.rb @@ -16,12 +16,13 @@ module Composer class PackageManager < PackageManagerBase extend T::Sig - sig { params(version: T.any(String, Dependabot::Version)).void } - def initialize(version) + sig { params(raw_version: String).void } + def initialize(raw_version) super( ECOSYSTEM, PACKAGE_MANAGER, - Version.new(version), + raw_version, + Version.new(raw_version), DEPRECATED_COMPOSER_VERSIONS, SUPPORTED_COMPOSER_VERSIONS )