output as binary files to enforce "unix command line" mode.
output as binary files to enforce "unix command line" mode.

= In ruby, on windows =
* A text file with CRLF or LF line endings will be opened with UNIX (LF) line endings in ruby.
* When writing text to a file, ruby always uses CRLF line endings, regardless of the format of the line endings of the file to begin with.

This causes an automatic conversion of all LF files to CRLF.  If you check out a project that uses unix line endings, then run annotate_models (before this commit), you're SCM is going to want to commit every line of every model.

= In ruby, on *nix / osx =
- Strings are always read and written as text with LF line endings.

----

The end result is an endless tug-a-war over line-endings for collaborating windows and *nix developers.

If you specify to write the files as binary ("wb"), both windows and *nix will output the text with LF line endings.  Most editors on windows support this format, and if you're deploying to a linux server, you should be using this format anyways.  This has solved the tug-a-war for me.

smtlaissezfaire/annotate_models2,damienmckenna/annotate_models,smtlaissezfaire/annotate_models2,dankimio/annotate_rails,damienmckenna/annotate_models