title: Defining a method inside a module in ruby (NoMethodError)
body: <p>I'm learning ruby, I come up on something that I don't understand. I know that <strong>modules</strong> in ruby are used for namespacing with <strong>::</strong> (or .) and mixing with <strong>include</strong> directive.
  The problem comes when I group some methods inside a module, without putting them inside a class.
  Here's an example:</p>
  
  <pre><code>module Familiar
    #this will not work
      def ask_age
        return "How old are you?"
      end
    #this will work
      def Familiar::greeting
        return "What's up?"
      end
  end
  # this call returns **NoMethodError** 
  puts(Familiar::ask_age()) 
  # this call works fine
  puts(Familiar::greeting()) 
  </code></pre>
  
  <p>Why do I need to include the namespace to define the method, I'm already inside the namespace <strong>Familiar</strong> why do I have to repeat my self and put <strong>Familiar::greeting</strong>
  You can test my example online following this link: <a href="http://codepad.org/VUgCVPXN">http://codepad.org/VUgCVPXN</a> </p>