It means "equal to or greater than in the last digit", so e.g. ~> 2.3
means
"equal to 2.3 or greater than 2.3, but less than 3.0", while ~> 2.3.0
would
mean "equal to 2.3.0 or greater than 2.3.0, but less than 2.4.0".
You can pronounce it as "approximately greater than".
§ Pessimistic version constraint
it means bring any lower version equal or greater than, but not a major version.
So for example arel (~> 2.0.2)
, will use (if availble) versions
but it won't use 2.1.?
According to the internet
If a RubyGem dependency uses the syntax "~> 1.4.37", that means "a version greater than or equal to 1.4.37, but not 1.5 or higher." 1
In other words, for youarel
can be 2.1 > version >= 2.0.2
andrspec-expectation
can be 2.6 > version >= 2.5.0
.
What this means is that you are expecting a gem that is version 2.0.2 or higher, but not 2.1 in the case of arel (~> 2.0.2)
This is done since people are not supposed to release breaking syntax changes in minor revisions. So arel 2.0.3
would be expected to have bug/stability fixes over 2.0.2
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With