54 lines
1.3 KiB
Ruby
54 lines
1.3 KiB
Ruby
lib_dir = File.expand_path(File.join(File.dirname(__FILE__), '../../../lib'))
|
|
$LOAD_PATH.unshift(lib_dir)
|
|
$LOAD_PATH.uniq!
|
|
require 'yard-google-code'
|
|
|
|
def init
|
|
return if object.docstring.blank? && !object.has_tag?(:api)
|
|
sections :index, [:private, :deprecated, :abstract, :todo, :note, :returns_void, :text], T('tags')
|
|
end
|
|
|
|
def private
|
|
return unless object.has_tag?(:api) && object.tag(:api).text == 'private'
|
|
erb(:private)
|
|
end
|
|
|
|
def abstract
|
|
return unless object.has_tag?(:abstract)
|
|
erb(:abstract)
|
|
end
|
|
|
|
def deprecated
|
|
return unless object.has_tag?(:deprecated)
|
|
erb(:deprecated)
|
|
end
|
|
|
|
def todo
|
|
return unless object.has_tag?(:todo)
|
|
erb(:todo)
|
|
end
|
|
|
|
def note
|
|
return unless object.has_tag?(:note)
|
|
erb(:note)
|
|
end
|
|
|
|
def returns_void
|
|
return unless object.type == :method
|
|
return if object.name == :initialize && object.scope == :instance
|
|
return unless object.tags(:return).size == 1 && object.tag(:return).types == ['void']
|
|
erb(:returns_void)
|
|
end
|
|
|
|
def docstring_text
|
|
text = ""
|
|
unless object.tags(:overload).size == 1 && object.docstring.empty?
|
|
text = object.docstring
|
|
end
|
|
|
|
if text.strip.empty? && object.tags(:return).size == 1 && object.tag(:return).text
|
|
text = object.tag(:return).text.gsub(/\A([a-z])/) {|x| x.upcase }
|
|
end
|
|
|
|
text.strip
|
|
end |