Yeah, it should be YARD. It doesn't really now the `@attribute` directive. It has `@!attribute`, which is for attributes created with meta-programming.
I usually document normal attributes like this:
# @return [Messaging::Handlers::Base]
attr_reader :messaging
It's not very intuitive. Oh well.
Utopia looks very nice but what I miss are superclasses (#3), inherited methods, and private methods. It just makes a quick reading of a method's implementation that much more comprehensible.
Originally posted by @paddor in socketry/async#326 (comment)