title: Protect ruby object attribute from being accessed
body: <p>what is the best way to protect an attribute? See point below:</p>
  
  <pre><code>class Document
  
    # no method outside this class can access this directly. If they call document.data, error should be thrown. including in any rendering 
    field sensitive_data
  
    # but this method can be accessed by anyone
    def get_sensitive_data
      # where I apply the right protection
    end
  
  end
  </code></pre>