> "What is the legacy behind these conditionals?"

To be honest, I can't give a straight answer, because I've never had this problem myself. However, I get lots of reports (in person and via github issues) of people having trouble finding the pre-commit gem in their environment.

[#36 Detect if pre-commit is actually installed in the ruby we are using.](https://github.com/jish/pre-commit/pull/36)
[#41 Adds support for rbenv](https://github.com/jish/pre-commit/pull/41)
[#63 ruby cannot find pre-commit](https://github.com/jish/pre-commit/issues/63)
[#65 pre-commit not found (non-RVM)](https://github.com/jish/pre-commit/issues/65)
[#66 system ruby support](https://github.com/jish/pre-commit/pull/66)

So far my solution has been to code around people's environment problems, but I guess you could say the same could be accomplished via education in github issues / readmes / FAQs, instead of in code.