我有一个小代码库,我正在用YARD记录.当我运行yardoc
命令时,它告诉我:
Files: 40
Modules: 14 ( 0 undocumented)
Classes: 39 ( 0 undocumented)
Constants: 21 ( 4 undocumented)
Methods: 239 ( 31 undocumented)
88.82% documented
Run Code Online (Sandbox Code Playgroud)
我希望它只是列出未记录的项目,而不是浏览我的所有代码来查找未记录的常量和方法.有人知道怎么做吗?
我想在Rails应用程序中包含有关Rake任务的信息.我们使用YARD作为文档,目前页面lib/tasks/development.rake
默认显示为无格式文本.
我可以使用# @markup ruby
YARD文档中的 Ruby源代码进行渲染.
但是,这只是内联任何注释,即使它们包含YARD指令# @!method foo
.这意味着有关标记DSL的YARD文档似乎不适用.
我错过了什么吗?
如何让YARD识别文件中的代码与文档.rake
?
NB我会很高兴一个忽略实际代码并只生成文档副本的解决方案,但文档副本的来源必须是.rake
文件本身 - 我不希望文档存在于单独的.markdown
文件(或其他任何)中,因为它也是很有可能它失去同步.
更多信息 - yard
命令:
我正在使用.yardopts
包含以下内容的文件:
--asset graphs 'app/**/*.rb' 'lib/**/*.rb' - README info/*
Run Code Online (Sandbox Code Playgroud)
要让YARD读取Rake任务,我可以'lib/tasks/*.rake'
在连字符后添加(即将Rake文件添加到YARD'文件'列表中),但如上所述,这不能正确处理它们.
根据Benjamin在下面的建议,我尝试'lib/tasks/*.rake'
在连字符之前添加(即将 Rake文件添加到要处理的常规Ruby文件列表中),但这似乎根本不会生成任何内容.
YARD可能会产生一些东西,但不是在预期的位置/我想要的预期文件名,我不太熟悉YARD如何确定某个地方是否有孤立的输出.在YARD生成的搜索中肯定没有任何合适的内容,而且简单find doc | grep rake
或find doc | grep basename_of_rake_file
不显示任何内容.
我正在从rdoc切换到yard用于我的ruby软件文档.
在我的文档中,我经常从注释中引用一些类/模块,例如:
## == Provides various utility features
##
## == Features
##
## Logging : logging is provided by the Mysoft::Mypackage::Utility::Logger class
##
Run Code Online (Sandbox Code Playgroud)
Rdoc正确创建了一个指向Mysoft :: Mypackage :: Utility :: Logger类文档页面的链接,而yard忽略了标记并将类名视为简单字符串.
我知道院子里有@see标签,但是这会在文档中创建一个单独的"See Also"部分,而我需要在我的描述文本中引用类/模块.
我肯定错过了一些东西,但如果你有任何关于如何用院子做的例子,我真的很感激.
谢谢你的推荐,
DL
我正在使用YARD来记录我的代码.我有一个方法,它有一个带有默认值的可选参数.如何表示参数是可选的并且具有默认值?
例:
# Squares a number
#
# @param the number to square
def square_a_number(number = 2)
number * number
end
Run Code Online (Sandbox Code Playgroud) 对于基本的Ruby方法,我将以下列格式为参数提供YARD样式doc.
# @param query [String] The search string to query.
# @param options [Hash] Optional search preferences.
def search(query, options = {})
# ...
end
Run Code Online (Sandbox Code Playgroud)
使用Ruby 2.0,现在可以使用关键字参数.但是,我不确定如何在YARD文档方面采用这种方法.
def search(query, exact_match: false, results_per_page: 10)
# ...
end
Run Code Online (Sandbox Code Playgroud)
如何将我的文件exact_match
,并results_per_page
在第二个方案?我应该继续使用@param
关键字,还是有更好的东西?
我刚刚开始使用YARD来记录我的Rails应用程序.我没有指定任何特定的标记处理程序,但我希望将`code`转换为code
,似乎不会发生.这是正常的行为吗?我是否需要添加一些额外的选项才能使其正常工作?谢谢.
我在多个位置安装了几个宝石.
生成/重新生成的难/简单方法是什么:
我正在使用YARD为我的rails应用程序生成文档,使用makrdown作为脚本解析器.大多数文档功能都是开箱即用的.但是,我还想将模型属性记录为一个,记录模型上的可用属性列表和两个,以描述它们的语义含义.
我无法在YARD中找到任何特殊的支持,我基本上只是列出了类评论中的属性.有没有办法记录动态生成的模型属性,以便它们出现在文档中,如标准属性/方法?
PS我已经使用annodate-models gem在类列表的顶部生成一个基本的模式转储,但这不是我想要的.
我很享受YARD的使用:
http://code.google.com/p/yardparser/
http://www.codeproject.com/KB/recipes/yard-tokenizer.aspx
我能够构建全功能计算器.我正在评估YARD做PHP解析器.请关注PEG语法和解析器生成器的局限性.非常感谢你!