Do you know Ruby’s pessimistic operator? It looks like this:
You’ve seen it in some
Gemfiles. Here’s an example
gem 'rails', '~> 3.0.3' gem 'thin', '~> 1.1'
~> 3.0.3 means that when you
bundle install, you’ll get the
highest-released gem version of
rails between the range
>= 3.0.3 and
~> 1.1 means that when you
bundle install, you’ll get the highest-released
gem version of
thin between the range
>= 1.1 and
Using the pessimistic operator in combination with consistent Semantic versioning by gem authors, we can theoretically achieve better stability in our dependencies.