title: Best practice for namespacing functions in Ruby? (novice question)
body: <p><em>(StackOverflow is telling me that this question is "subjective and likely to be closed"… well, I'll give it a shot regardless)</em></p>
  
  <p>I'm writing a bunch of helper methods (for a TextMate bundle), and I'd like (and I need) to have them neatly namespaced.  </p>
  
  <p>These methods are really just functions, i.e. they don't operate on anything outside their own scope, and thus don't really belong in a class. There's nothing that needs instantiating.</p>
  
  <p>So far, I've been doing this and that works just fine</p>
  
  <pre><code>module Helpers::Foo
      module_function
      def bar
          # ...
      end
  end
  Helpers::Foo.bar # this is how I'd like to call the method/function
  </code></pre>
  
  <p>But would it be better to:<br>
  1. Skip <code>module_function</code> and declare the methods/functions as <code>self.*</code>?<br>
  2. Or would it be better to declare a class instead of a module?<br>
  3. Or use <code>class &lt;&lt; self</code> (inside a module or a class)?<br>
  4. Or something else entirely?</p>
  
  <p>I realize this is a pretty open-ended question, but I'm really just looking to hear what people are doing.</p>