What TSV is
TSV is CSV with tabs instead of commas. Because tabs almost never appear inside a value, quoting is rarely needed and the files are easier to read by eye.
Bioinformatics, log processing, and anyone who has copied a block of cells out of a spreadsheet: the clipboard format is TSV.
What Ruby is
A Ruby array of hashes with symbol keys.
Rails seed files and Ruby scripts.
What changes when you convert TSV to Ruby
The tab is unambiguous, so there is no delimiter to guess. This is the most reliable of the delimited formats to read.
Column names are converted to valid symbol names, which means non-word characters become underscores.
What carries over from TSV to Ruby
TSV records 2 things about a table that Ruby has no way to hold.
Ruby wants a type for each column, and TSV does not record one, so each column is typed from what its values look like. A column of digits that should stay text - a zip code, a phone number, a leading-zero id - is the usual thing to check afterwards.
Ruby has no header row. The column names are repeated as keys on every record instead, which is why the result is bigger on disk than the table it came from.
TSV can be read one record at a time. Ruby has to be complete before it means anything, so the whole table is held in memory while it is written and a file that gets cut off part way through is not partly usable - it is unusable.
The identifier 007 comes out of the Ruby as 007. Reading it as a number would have made it 7, and an id that changes value is worse than one that stays text.
The role "Analyst, data" survives with its comma, in one cell rather than split across two. That is the first thing to check in any converted table, and the usual place a Ruby file goes wrong.
The quotes around Jonah "Jo" Pryce are left as a plain quote character in the Ruby.