docs/templates/plugin.rb in yard-0.9.18 vs docs/templates/plugin.rb in yard-0.9.19

- old
+ new

@@ -1,70 +1,70 @@ -# frozen_string_literal: true -include YARD -include Templates - -module TagTemplateHelper - def all_tags - Registry.all(:method).map {|m| m.tag('yard.tag') }.compact - end - - def all_directives - Registry.all(:method).map {|m| m.tag('yard.directive') }.compact - end - - def collect_tags - (all_tags + all_directives).sort_by(&:name) - end - - def tag_link(tag) - link_file("docs/Tags.md", tag_link_name(tag), tag.name) - end - - def tag_link_name(tag) - prefix = tag.tag_name == 'yard.directive' ? '@!' : '@' - h(prefix + tag.name) - end - - # Wrap url_for and url_for_file to rewrite object when generating docs for - # yard.tag/directive objects. - %w(url_for url_for_file).each do |meth| - self.class.send(:define_method, meth) do - if object.is_a?(CodeObjects::Base) && - (object.tag('yard.tag') || object.tag('yard.directive') || - (object.type == :class && object.superclass.name == :Directive)) - obj = object - self.object = Registry.root - url = super - self.object = obj - url - else - super - end - end - end - - def linkify(*args) - if args.first.is_a?(String) - case args.first - when "yard:include_tags" - return T('yard_tags').run(options) - when /^tag:(\S+)/ - tag_name = $1 - suffix = "tag" - if tag_name =~ /^!/ - tag_name = tag_name[1..-1] - suffix = "directive" - end - - obj = Registry.at("YARD::Tags::Library##{tag_name}_#{suffix}") - return tag_link(obj.tag("yard.#{suffix}")) if obj - - log.warn "Cannot find tag: #{args.first}" - return args.first - end - end - super - end -end - -Template.extra_includes << TagTemplateHelper -Engine.register_template_path(File.dirname(__FILE__)) +# frozen_string_literal: true +include YARD +include Templates + +module TagTemplateHelper + def all_tags + Registry.all(:method).map {|m| m.tag('yard.tag') }.compact + end + + def all_directives + Registry.all(:method).map {|m| m.tag('yard.directive') }.compact + end + + def collect_tags + (all_tags + all_directives).sort_by(&:name) + end + + def tag_link(tag) + link_file("docs/Tags.md", tag_link_name(tag), tag.name) + end + + def tag_link_name(tag) + prefix = tag.tag_name == 'yard.directive' ? '@!' : '@' + h(prefix + tag.name) + end + + # Wrap url_for and url_for_file to rewrite object when generating docs for + # yard.tag/directive objects. + %w(url_for url_for_file).each do |meth| + self.class.send(:define_method, meth) do + if object.is_a?(CodeObjects::Base) && + (object.tag('yard.tag') || object.tag('yard.directive') || + (object.type == :class && object.superclass.name == :Directive)) + obj = object + self.object = Registry.root + url = super + self.object = obj + url + else + super + end + end + end + + def linkify(*args) + if args.first.is_a?(String) + case args.first + when "yard:include_tags" + return T('yard_tags').run(options) + when /^tag:(\S+)/ + tag_name = $1 + suffix = "tag" + if tag_name =~ /^!/ + tag_name = tag_name[1..-1] + suffix = "directive" + end + + obj = Registry.at("YARD::Tags::Library##{tag_name}_#{suffix}") + return tag_link(obj.tag("yard.#{suffix}")) if obj + + log.warn "Cannot find tag: #{args.first}" + return args.first + end + end + super + end +end + +Template.extra_includes << TagTemplateHelper +Engine.register_template_path(File.dirname(__FILE__))