Sha256: 1bfbaaf7d9aaf617e91f828366cef13018a059519ec83fb2985e2e9f68240c98
Contents?: true
Size: 1.58 KB
Versions: 5
Compression:
Stored size: 1.58 KB
Contents
module Inch module CodeObject module Provider # Parses the source tree (using YARD) module YARD # Returns +true+ if the docstring was generated by YARD # # @param docstring [Docstring,String] # @param method [MethodObject] def self.implicit_docstring?(docstring, method) name = method.name if method.getter? docstring.to_s == "Returns the value of attribute #{name}" elsif method.setter? basename = name.to_s.gsub(/(\=)$/, '') docstring.to_s == "Sets the attribute #{basename}" else false end end # Returns +true+ if the tag was generated by YARD # # @param tag [::YARD::Tag] # @param method [MethodObject] def self.implicit_tag?(tag, method) name = method.name if method.getter? tag.tag_name == 'return' && tag.text == "the current value of #{name}" elsif method.setter? tag.tag_name == 'return' && tag.text == 'the newly set value' else false end end def self.parse(dir, config = Inch::Config.codebase) Parser.parse(dir, config) end end end end end require 'logger' require 'yard' log.level = ::Logger::UNKNOWN # basically disable YARD's logging require 'inch/code_object/provider/yard/parser' require 'inch/code_object/provider/yard/docstring' require 'inch/code_object/provider/yard/nodoc_helper' require 'inch/code_object/provider/yard/object'
Version data entries
5 entries across 5 versions & 1 rubygems