Sha256: 556a9e1c0f83f4eea2ed7d0d3e0bd28ed14fd02b4b9f5e839f0fcd4381fc803e
Contents?: true
Size: 1.48 KB
Versions: 2
Compression:
Stored size: 1.48 KB
Contents
module YARD module Handlers module Ruby # Handles a macro (dsl-style method) class MacroHandler < Base include CodeObjects include MacroHandlerMethods handles method_call namespace_only IGNORE_METHODS = Hash[*%w(alias alias_method autoload attr attr_accessor attr_reader attr_writer extend include public private protected private_constant).map {|n| [n, true] }.flatten] process do return if namespace == Registry.root globals.__attached_macros ||= {} if !globals.__attached_macros[caller_method] return if IGNORE_METHODS[caller_method] return if !statement.comments || statement.comments.empty? end @macro, @docstring = nil, Docstring.new(statement.comments) find_or_create_macro(@docstring) return if !@macro && !statement.comments_hash_flag && @docstring.tags.size == 0 @docstring = expanded_macro_or_docstring name = method_name raise UndocumentableError, "method, missing name" if name.nil? || name.empty? tmp_scope = sanitize_scope tmp_vis = sanitize_visibility object = MethodObject.new(namespace, name, tmp_scope) register(object) object.visibility = tmp_vis object.dynamic = true object.signature = method_signature create_attribute_data(object) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
yard-0.7.1 | lib/yard/handlers/ruby/macro_handler.rb |
yard-0.7.0 | lib/yard/handlers/ruby/macro_handler.rb |