comparison vendor/composer/semver/src/Comparator.php @ 0:1e000243b222

vanilla 1.3.3 distro, I hope
author Charlie Root
date Thu, 04 Jan 2018 15:50:29 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:1e000243b222
1 <?php
2
3 /*
4 * This file is part of composer/semver.
5 *
6 * (c) Composer <https://github.com/composer>
7 *
8 * For the full copyright and license information, please view
9 * the LICENSE file that was distributed with this source code.
10 */
11
12 namespace Composer\Semver;
13
14 use Composer\Semver\Constraint\Constraint;
15
16 class Comparator
17 {
18 /**
19 * Evaluates the expression: $version1 > $version2.
20 *
21 * @param string $version1
22 * @param string $version2
23 *
24 * @return bool
25 */
26 public static function greaterThan($version1, $version2)
27 {
28 return self::compare($version1, '>', $version2);
29 }
30
31 /**
32 * Evaluates the expression: $version1 >= $version2.
33 *
34 * @param string $version1
35 * @param string $version2
36 *
37 * @return bool
38 */
39 public static function greaterThanOrEqualTo($version1, $version2)
40 {
41 return self::compare($version1, '>=', $version2);
42 }
43
44 /**
45 * Evaluates the expression: $version1 < $version2.
46 *
47 * @param string $version1
48 * @param string $version2
49 *
50 * @return bool
51 */
52 public static function lessThan($version1, $version2)
53 {
54 return self::compare($version1, '<', $version2);
55 }
56
57 /**
58 * Evaluates the expression: $version1 <= $version2.
59 *
60 * @param string $version1
61 * @param string $version2
62 *
63 * @return bool
64 */
65 public static function lessThanOrEqualTo($version1, $version2)
66 {
67 return self::compare($version1, '<=', $version2);
68 }
69
70 /**
71 * Evaluates the expression: $version1 == $version2.
72 *
73 * @param string $version1
74 * @param string $version2
75 *
76 * @return bool
77 */
78 public static function equalTo($version1, $version2)
79 {
80 return self::compare($version1, '==', $version2);
81 }
82
83 /**
84 * Evaluates the expression: $version1 != $version2.
85 *
86 * @param string $version1
87 * @param string $version2
88 *
89 * @return bool
90 */
91 public static function notEqualTo($version1, $version2)
92 {
93 return self::compare($version1, '!=', $version2);
94 }
95
96 /**
97 * Evaluates the expression: $version1 $operator $version2.
98 *
99 * @param string $version1
100 * @param string $operator
101 * @param string $version2
102 *
103 * @return bool
104 */
105 public static function compare($version1, $operator, $version2)
106 {
107 $constraint = new Constraint($operator, $version2);
108
109 return $constraint->matches(new Constraint('==', $version1));
110 }
111 }