title: What is the best way to hide module method in ruby?
body: <p>In JavaScript, it's easy to hide function or variable in closure.<br>
  In ruby, private doesn't work for Module method.<br>
  Is there best practice to do so? </p>
  
  <pre><code>module Lib
  
    def self.public_function
      private_function
    end
  
    private # Does not work
    def self.private_function
  
    end
  
  end
  
  Lib.public_function
  </code></pre>
  
  <p>I've read this post: <a href="https://stackoverflow.com/questions/318850/private-module-methods-in-ruby">Private module methods in Ruby</a><br>
  But the best answer is not simple enough for me.</p>