Code Duplication    Length = 55-55 lines in 2 locations

packages/autoloader/src/class-version-selector.php 1 location

@@ 7-61 (lines=55) @@
4
/**
5
 * Used to select package versions.
6
 */
7
class Version_Selector {
8
9
	/**
10
	 * Checks whether the selected package version should be updated. Composer development
11
	 * package versions ('9999999-dev' or versions that start with 'dev-') are favored
12
	 * when the JETPACK_AUTOLOAD_DEV constant is set to true.
13
	 *
14
	 * @param String $selected_version The currently selected package version.
15
	 * @param String $compare_version The package version that is being evaluated to
16
	 *                                determine if the version needs to be updated.
17
	 *
18
	 * @return bool Returns true if the selected package version should be updated,
19
	 *                 else false.
20
	 */
21
	public function is_version_update_required( $selected_version, $compare_version ) {
22
		$use_dev_versions = defined( 'JETPACK_AUTOLOAD_DEV' ) && JETPACK_AUTOLOAD_DEV;
23
24
		if ( is_null( $selected_version ) ) {
25
			return true;
26
		}
27
28
		if ( $use_dev_versions && $this->is_package_version_dev( $selected_version ) ) {
29
			return false;
30
		}
31
32
		if ( $this->is_package_version_dev( $compare_version ) ) {
33
			if ( $use_dev_versions ) {
34
				return true;
35
			} else {
36
				return false;
37
			}
38
		}
39
40
		if ( version_compare( $selected_version, $compare_version, '<' ) ) {
41
			return true;
42
		}
43
44
		return false;
45
	}
46
47
	/**
48
	 * Checks whether the given package version is a development version.
49
	 *
50
	 * @param String $version The package version.
51
	 *
52
	 * @return bool True if the version is a dev version, else false.
53
	 */
54
	private function is_package_version_dev( $version ) {
55
		if ( 'dev-' === substr( $version, 0, 4 ) || '9999999-dev' === $version ) {
56
			return true;
57
		}
58
59
		return false;
60
	}
61
}
62

packages/autoloader/tests/php/data/plugins/plugin_v2_2_0/vendor/class-version-selector.php 1 location

@@ 15-69 (lines=55) @@
12
/**
13
 * Used to select package versions.
14
 */
15
class Version_Selector {
16
17
	/**
18
	 * Checks whether the selected package version should be updated. Composer development
19
	 * package versions ('9999999-dev' or versions that start with 'dev-') are favored
20
	 * when the JETPACK_AUTOLOAD_DEV constant is set to true.
21
	 *
22
	 * @param String $selected_version The currently selected package version.
23
	 * @param String $compare_version The package version that is being evaluated to
24
	 *                                determine if the version needs to be updated.
25
	 *
26
	 * @return Boolean Returns true if the selected package version should be updated,
27
	 *                 else false.
28
	 */
29
	public function is_version_update_required( $selected_version, $compare_version ) {
30
		$use_dev_versions = defined( 'JETPACK_AUTOLOAD_DEV' ) && JETPACK_AUTOLOAD_DEV;
31
32
		if ( is_null( $selected_version ) ) {
33
			return true;
34
		}
35
36
		if ( $use_dev_versions && $this->is_package_version_dev( $selected_version ) ) {
37
			return false;
38
		}
39
40
		if ( $this->is_package_version_dev( $compare_version ) ) {
41
			if ( $use_dev_versions ) {
42
				return true;
43
			} else {
44
				return false;
45
			}
46
		}
47
48
		if ( version_compare( $selected_version, $compare_version, '<' ) ) {
49
			return true;
50
		}
51
52
		return false;
53
	}
54
55
	/**
56
	 * Checks whether the given package version is a development version.
57
	 *
58
	 * @param String $version The package version.
59
	 *
60
	 * @return Boolean True if the version is a dev version, else false.
61
	 */
62
	private function is_package_version_dev( $version ) {
63
		if ( 'dev-' === substr( $version, 0, 4 ) || '9999999-dev' === $version ) {
64
			return true;
65
		}
66
67
		return false;
68
	}
69
}
70