The short answer of the following answer is: As long as you are consistent, you're ok. Use the retab.rb utility if you have both hard and soft tabs in you code: https://github.com/rapid7/metasploit-framework/blob/master/tools/dev/retab.rb

RubyMine is setup for most Ruby projects, and uses the correct form of indentation with 2-space tabs IIRC.  However, Metasploit doesn't actually follow the typical Ruby guidelines properly. Instead of 2-space tabs, we're using hard tabs (\t characters), which is also mentioned in the HACKING file (states "Hard tabs, not spaces").

I think we're slowly changing that indentation guideline now, and I'm seeing more and more files using 2-space tabs instead of hard tabs. The most important thing is probably consistency. If you're using 2-space tabs, then use 2-space tabs all the way, don't mix with hard tabs. For your reference, Juan and I still use hard tabs for now.

@todb-r7 please feel free to confirm this.