title: Koan Neo.rb - calling methods from metadata
body: <p>i am going through Koans logic (Neo.rb file).</p>
  <p>I do not understand one thing. In Method Koan.meditate is called send(name) method. Parameter name contains name of evaluated method. But there is a point .. method is in one of many inhereted classes (for example: class arrays &lt; Neo) so method should not be visible for Neo methods. But it is.</p>
  <p>Can someone please explain me why meditate method have access to methods of inhereted classes?</p>
  <p>Thank,</p>
  <p>M.</p>
  <hr />
  <p>But it is definitely vice versa @maxpleaner ..</p>
  <pre><code>class AboutAsserts &lt; Neo::Koan
    # We shall contemplate truth by testing reality, via asserts.
    p Neo::Koan.subclasses
    def test_assert_truth
      assert true                # This should be true
    end
  -------------------------
  class Koan
      attr_reader :name, :failure, :koan_count, :step_count, :koan_file
      def initialize(name, koan_file=nil, koan_count=0, step_count=0)
        @name = name
        @failure = nil
        @koan_count = koan_count
        @step_count = step_count
        @koan_file = koan_file
      end
  
      def failed(failure)
        p &quot;MSK FAILED&quot;
        @failure = failure
      end
      def meditate
        setup
        begin
          send(name) # here is called child method of AboutAsserts which is called test_assert_truth
          p &quot;send(name)&quot;
  </code></pre>
  <p>If I understand correctly parent is Koan and child is AboutAsserts ... so not sure why the method is visible for parent ..</p>