Tab in Emacs indents the current line depending upon the language settings you've set up, always has. It's one of the things you need to understand when you start using it. You can choose tabs or spaces. Ruby uses 2 spaces by convention so that's what I use. I think I'd prefer tabs sometimes so I could see how far something's indented but that's not the standard.
If you're running one of the code completion engines and are at the end of a line then it will do that instead.
Emacs also has an indent-region command that applies the conventions of the language you're using to a selected region. These conventions are entirely user-configurable.
I'm curious: why are people pressing the tab key at all? If you've got auto indent on it will indent when it detects a block being opened, not just Emacs but nearly every decent editor (including Vim). Also, as many others have said, just run a code beautifier on it as part of the check-in process (not hard).
I was amused by the idea of editing some kind of artefact instead of code - how would you version control it? Text works and is really easy.
NB not prettifying is one of the things you should do in OSS, because it makes the check-ins huge and hides the real changes you made.