RVM介绍

星期二, 七月 27th, 2010

RVM就是Ruby Version Manager,主要包括Ruby版本管理和Gem库管理(gemset)。Ruby版本管理就不用说啦,目前Ruby主要有1..8.6,1.8.7,1.9.1,1.9.2等,通过RVM你可以在多个Ruby版本中快速切换。gemset,主要是指创建新的gem存储目录,保存特定的gem集合,如我想尝试一下Rails 3,但是我不想在当前Gem仓库中安装,仓库中已经有2.3.X稳定版本,这个是要用于日常开发的,这个时候,我们只需创建一个临时的gemset,然后独立安装Rails3相关的gem,然后我们在这个gemset下开发,这样就方便很多。如果成功搞定Ruby版本和GemSet,那么Ruby使用就很方便啦,除了这些,RVM还提供很多的功能,如安装各个Ruby版本,支持JRuby等,具体的特性大家可以去看看。在IDE方面,RubyMine已经很好支持RVM,自动识别RVM管理的Ruby版本和GemSet,方便你切换Ruby的解析环境,这样开发就方便多啦。
RVM的主页: http://rvm.beginrescueend.com/ RubyMine的RVM支持: http://blogs.jetbrains.com/ruby/2010/04/rvm-support-in-rubymine-2-0-2/

RubyMine 3.0版本可能会添加Yard支持

星期二, 六月 22nd, 2010

Yard,地址为http://yardoc.org/,对比javadoc,phpdoc和jsdoc可能字面上比较难理解,其实就是rubydoc,默认的ruby doc是不支持annotation的,但是Yard就不一样啦,Yard一方面是生成文档,更重要的是为IDE提供支持,如果IDE工具全面支持Yard的话,你编写Ruby基本上能达到Java编辑器那样的特性:代码提示和导航更方便。写过一些文章介绍过jsdoc,当然phpdoc IDEA默认支持,这些doc会让开发更便捷。

Watir的RubyMine扩展

星期一, 三月 15th, 2010

Watir被很多软件测试人员使用,可以实现页面测试自动化。一个测试部的同事问我,能否让RubyMine更好地支持Watir,主要是代码提示的问题和定位的问题。周末花了一些实际研究了一下Watir,同时结合RubyMine的特性,完成一个初始版本,基本实现大部分代码提示功能,部分细节后续会再完善一下。主要的原理是RubyMine会根据require索引涉及到的文件,所以我们需要将涉及到的Watir文件都要require进来,但是不是真的require,使用一个if(false)包含即可,这个是给RubyMine用的。另外利用RubyMine的extension机制,设置各种函数类型的返回值,这样可以对返回值进行代码提示。一个样例图如下:

rubygems.org

星期三, 三月 3rd, 2010

Ruby社区的gem host服务器之前主要有三个:gems.rubyforge.org, gemcutter.org和gems.github.com,大多数gem都在这三个服务器上。先是github放弃了对gem host,相关的host服务转向gemcutter.org,后来有不少文章都是介绍如何使用gemcutter,railscast上也有一个gemcutter视频教学。现在一个新的gem host服务接替了目前存在gem host,那就是rubygems.org,gemcutter.org和gems.rubyforge.org也都指向rubygems.org,形成一个集中的gem host。从rubygems.org的blog上可以看出,在gem 1.3.6发布时,所有的gem迁移工作都已经完成。目前http://www.rubygems.org可以是Ruby社区gem host,这种集中式的host服务对Ruby开发人员来说,是一个非常好的消息,在一个地方就可以找到所有的gem。

《Metaprogramming Ruby》正式发布

星期六, 一月 30th, 2010

首先不想说Ruby Meta Programming,大家都知道啦。这本书个人读了3遍,每次读感觉都不一样,都觉得能从这本书学习到新的东西,了解更深层次的概念和用法,所以这里真心推荐!

《The Merb Way》

星期四, 一月 14th, 2010

《The Merb Way》,虽然Rails 2.x已经足够优秀啦,但是相信人多人还是对Merb独钟,加上Rails 3的架构师为Merb的架构师,如同Struts 2采用WebWork2的架构方式一样。Rails 3.0号称在2010年一季度完成Beta版本,可以说很近啦。在迎接Rails 3的时候,看一下Merb,对理解Rails 3也是很有帮助的。

Rails Magazine

星期三, 一月 6th, 2010

一直不知道这本杂志,在RubyMine的Blog看到的链接,不敢独享。杂志的电子版是免费的,制作的非常不错,主要讲述的是Rails和Ruby的开发,目前已经有5期,URL为: http://railsmagazine.com/

YARD(Ruby Document Annotation)

星期四, 十二月 10th, 2009

在写代码时,我们通常都会添加注释,Java代码,我们采用Javadoc,Javascript代码我们使用jsdoc等等,在写Ruby代码时,当然会使用rdoc,但是rdoc有一些缺陷,那就是缺乏@tag,而Yard正是解决这个问题的工具,介绍如下: YARD is a documentation generation tool for the Ruby programming language. It enables the user to generate consistent, usable documentation that can be exported to a number of formats very easily, and also supports extending for custom Ruby constructs such as custom class level definitions. What’s this mean? It means YARD is a great [...]