Ruby 工具更新:Yard 0.4 添加实时文档服务器功能,Gem Bundler 负责管理依赖

  • Werner Schuster
  • 杨晨

2009 年 11 月 18 日

话题:RubyDevOps语言 & 开发

YARD是一个 Ruby文档生成器,还支持插件和在注释字符串里的 Javadoc 风格的元数据等特性

新版本的YARD 0.4.0做出了很多改进,例如对模版系统进行了改写。还有一个新特性,可以允许给某些代码添加元数据值,来限制该代码的文档生成。

最棒的新特性便是实时文档服务器

在每个方法的页面上,增加了由 DISQUS 实现的崭新的用户评论系统,允许用户针对某个方法贡献更多的信息。

http://yardoc.org/docs上已经有了一个该服务的公开实例,列表中的项目文档都可以使用该特性,例如Rails

Gem Bundler是一个全新的工具,旨在简化项目中对 Gem 依赖的管理以及对实时 Gem require的控制。

Yehuda Katz,Gem Bundler 的编写者之一,讲述了这个工具背后的故事

这个工具允许在一个独立于应用程序本身的空间中对所有的依赖进行配置。也就是说,它能够不运行程序就能够发现哪些 Gems 是应用程序所依赖的。[..]

一旦依赖问题得到解决,开发者就可以将程序运行崭新的系统上,而不需要使用 RubyForge(或者 Gemcutter)。对于编译型 gem 来说,这显得尤为重要(必须能够获取所需 gem 的列表以及在远程系统上编译)。[..]



除此以外,工具还具有为 Ruby 应用一个重发布的安装打包功能。新的 gem 发布版或者远程服务器应该不会对一个应用程序的安装包产生任何影响。

所有的依赖在一个Gemfile中列出来了,能够从默认或者定制的 Gem 源中获取。

所有的依赖能够被聚集到一个命名环境中。当应用程序需要在不同的情况下,例如“production(生产环境)”或者“testing(测试环境)”等等。运行的时候,环境问题就尤为重要。Gem Bundler 能够找到 Gem,并且在默认环境下使用Bundler.require_env将其包含进来,或者直接在环境名称中指定名字,例如Bundler.require_env(:testing)

更多信息可以在EngineYard 博客的 Gem Bundler 介绍或者 Yehuda 的Gem Bundler 简介中找到更多细节,还可以了解一下 Gem Bundler 是如何和 Rails 绑定在一起的。

查看英文原文:Ruby Tools: Yard 0.4 Adds Live Doc Server, Gem Bundler Handles Dependencies

RubyDevOps语言 & 开发