Use shared values in YAML so that only certain pieces of .travis.yml need to be updated in order to update Ruby versions. Things should cascade so that if people send a pull request they can update just RVM field.
It seems that Travis has made available 2.1.10 which is for double digit testing but skipped 2.1.10 (for some reason.) This reverts us back to 2.1.8 so that we can maintain a working build since we are triggering no known bugs in 2.1 at this time.
The problem last time was that we removed Pry and Pry brings in CodeRay, we were
testing legacy stuff and didn't have CodeRay in our dependencies, which resulted
in those tests failing.
This also quietly announces the intention to move to RSpec by moving the old
test dependencies to ":test_legacy" and is slightly less agressive in it's
organization than before.
* Removes posix-spawn in favor of Open3#popen3
* Encapsulates all the paths into a single easy class.
* Moves to %r{} to avoid ambiguious warnings per-Cucumber suggestion.
* Starts passing around Pathname to make some actions faster.
* Clean's up some methods to make them easier to read.
* AUTOMATIC: Add "#" between each method.
Even though JRuby 9K on Travis still apparently points to pre1 we are updating so that when it finally points to stable release we can get those builds, once jruby-head diverges enough again we will re-add it to the list and start testing the next build and move JRuby 9K. Remember though, JRuby support is still experimental.
However, because JRuby stable does not support 2.0/21 mode on Travis (reliably as far as I'm aware) we only test on JRuby-head right now because we have dropped support for any EOL Ruby and master contains some code that might or might not fail out on 1.9.