Class: YARD::Tags::AttributeDirective
- Inherits:
-
MethodDirective
- Object
- Directive
- MethodDirective
- YARD::Tags::AttributeDirective
- Defined in:
- lib/yard/tags/directives.rb
Overview
For backwards compatibility support, you do not need to indent the attribute's docstring text. If an @!attribute directive is seen with no indented block, the entire docstring is used as the new attribute's docstring text.
Defines an attribute with a given name, using indented block data as the attribute's docstring. If the type specifier is supplied with “r”, “w”, or “rw”, the attribute is made readonly, writeonly or readwrite respectively. A readwrite attribute is the default, if no type is specified. The comment containing this directive does not need to be attached to any source, but if it is, that source code will be used as the method's source.
To define an regular method, see @!method
Constant Summary
Instance Attribute Summary collapse
-
#expanded_text ⇒ String?
inherited
from Directive
Set this field to replace the directive definition inside of a docstring with arbitrary text.
-
#handler ⇒ Handlers::Base?
inherited
from Directive
readonly
The handler object the docstring parser might be attached to.
-
#object ⇒ CodeObjects::Base?
inherited
from Directive
readonly
The object the parent docstring is attached to.
-
#parser ⇒ DocstringParser
inherited
from Directive
protected
The parser that is parsing all tag information out of the docstring.
-
#tag ⇒ Tag
inherited
from Directive
The meta-data tag containing data input to the directive.
Parser callbacks collapse
- #after_parse ⇒ Object
- #method_name ⇒ Object protected
- #method_signature ⇒ Object protected
Constructor Details
This class inherits a constructor from YARD::Tags::Directive
Instance Attribute Details
#expanded_text ⇒ String? Originally defined in class Directive
Set this field to replace the directive definition inside of a docstring with arbitrary text. For instance, the MacroDirective uses this field to expand its macro data in place of the call to a @!macro.
#handler ⇒ Handlers::Base? (readonly) Originally defined in class Directive
Returns the handler object the docstring parser might be attached to. May be nil. Only available when parsing through Parser::SourceParser.
#object ⇒ CodeObjects::Base? (readonly) Originally defined in class Directive
Returns the object the parent docstring is attached to. May be nil.
#parser ⇒ DocstringParser (protected) Originally defined in class Directive
Returns the parser that is parsing all tag information out of the docstring
Instance Method Details
#after_parse ⇒ Object
437 438 439 440 441 |
# File 'lib/yard/tags/directives.rb', line 437 def after_parse return unless handler use_indented_text create_attribute_data(create_object) end |
#method_name ⇒ Object (protected)
445 446 447 448 449 |
# File 'lib/yard/tags/directives.rb', line 445 def method_name name = sanitized_tag_signature || handler.call_params.first name += '=' unless readable? name end |
#method_signature ⇒ Object (protected)
451 452 453 454 455 456 457 |
# File 'lib/yard/tags/directives.rb', line 451 def method_signature if readable? "def #{method_name}" else "def #{method_name}(value)" end end |