title: Ruby YARD: documenting abstract methods implementations
body: <p>I have a typical OO pattern: one base abstract class (that defines abstract methods) and several classes that implement these abstract methods in class-specific way.</p>
  
  <p>I'm used to write documentation only once in abstract methods and then it automatically propagates to several concrete classes (at least it works the following way in Javadoc, in Scaladoc, in Doxygen), i.e. I don't need to repeat the same description in all concrete classes.</p>
  
  <p>However, I couldn't find how to do such propagation in YARD. I've tried, for example:</p>
  
  <pre><code># Some description of abstract class.
  # @abstract
  class AbstractClass
    # Some method description.
    # @return [Symbol] some return description
    # @abstract
    def do_something
      raise AbstractMethodException.new
    end
  end
  
  class ConcreteClass &lt; AbstractClass
    def do_something
      puts "Real implementation here"
      return :foo
    end
  end
  </code></pre>
  
  <p>What I get:</p>
  
  <ul>
  <li>Code works as expected - i.e. throws <code>AbstractMethodException</code> is called in abstract class, does the job in concrete class</li>
  <li>In YARD, <code>AbstractClass</code> is clearly defined as abstract, <code>ConcreteClass</code> is normal</li>
  <li>Method description and return type is good in <code>AbstractClass</code></li>
  <li>Method is said to throw <code>AbstractMethodException</code> in <code>AbstractClass</code></li>
  <li>Method has no description at all and generic <code>Object</code> return type in <code>ConcreteClass</code>, there's not a single notice of that an abstract method exists in base class.</li>
  </ul>
  
  <p>What I expect to get:</p>
  
  <ul>
  <li>Method's description and return type are inherited (i.e. copied) to <code>ConcreteClass</code> from info at <code>AbstractClass</code></li>
  <li>Ideally, this method is specified in "inherited" or "implemented" section of <code>ConcreteClass</code> description, with some reference link from <code>ConcreteClass#do_something</code> to <code>AbstractMethod#do_something</code>.</li>
  </ul>
  
  <p>Is it possible to do so?</p>