A set of simple scripts to help maintain compatibility of a ruby project across development platforms. Collaborative, open-source projects are fantastic, but fundamentally limiting. There is a tendency in programming to simply ignore Unix-unlike systems, primarily Windows. A project cannot be truly collaborative without supporting all those who want to collaborate. What Fred Rogers believed and instilled in children, applied to software development.
"I like you just the way you are". - Fred Rogers
- Your project must be using Bundler to maintain the gems its using.
- For the moment, Neighborhood does not support multiple pre-commit git hooks. If you have one already, Neighborhood will not work.
- If on Windows, you must have Git for Windows installed.
For every ruby project you want to enforce cross-platform standards upon, run this command in the project's root directory:
ruby -e "$(curl https://raw.githubusercontent.com/thearchitector/Neighborhood/master/install)"
If you are on Windows, you might get an error stating curl : The response content cannot be parsed because the Internet Explorer engine is not available.
If you do get this error, add -UseBasicParsing
as a flag option for the curl command like so:
ruby -e "$(curl -UseBasicParsing https://raw.githubusercontent.com/thearchitector/Neighborhood/master/install)"
This project is ever-expanding, and will continue as new discrepancies are found, but as of now this script does a few simple things:
- Adds the
ruby
platform to your Gemfile. - Enables LF line ending normalization on your .gitattributes file, creating one if it does not exist already.
- Adds a client-side pre-commit git hook to your repository that removes all non-ruby platform-specific gems.