Rails框架技术讲座:如何编写自己Rake命令

Posted by cnruby Sun, 26 Nov 2006 19:12:00 GMT

Rails框架技术讲座:如何编写自己Rake命令

目录
 (一)系统环境:

  1. Ruby 语言 1.8.4版本, 点击这里Ruby1.8.4
  2. Rails 框架 1.1.6版本,安装方法:
    gem install rails -v=1.1.6
  3. Windows XP 或者 Windows 2000操作系统 或者 Linux操作系统
  4. 需要一个浏览器,如FireFox1.5.0.1
  5. 开发编辑工具 Notepad2 ,安装方法请单击这里,复制一个notepad2.exe,并且更名为vi.exe。
  6. 在Windows XP上安装Linux核心命令,点击这里。主要是 wget 命令。

 (二)前提条件:

  1. 在本机Winodw操作系统上,我们的工作目录为d:\works_rails。
  2. 你的电脑必须在线。

 (三)目的:

  1. Rails框架的Rake工具已经有很多命令,如命令rake test等。有时候我们想发布自己的软件,可能会想要写自己的Rake命令,使得用户更为方便的安装等等。例如项目Ram安装的Rake命令写得相当不错。本讲座目的说明如何写自己的Rake命令。作为例子我们写了如何安装文章的二个文件uml.rake和uml_dumper.rb。该文章说明了它的工具安装后,可以产生你Rails框架应用软件的数据库模式图(schema diagram)。在这里没有说明该文章想干什么。
  2. 本讲座的完整代码请您在Google Code Hosting上查看:
    http://cnruby.googlecode.com/svn/trunk/rails-projects/code_rake
    或者下载
    svn co http://cnruby.googlecode.com/svn/trunk/rails-projects/code_rake

 (四)解决方案:

  1. 创建Rails框架应用软件code_rake
    rails code_rake
    图01
    cd code_rake
    图02
  2. 查看Rails框架应用软件Rake命令,目的是下面比较在生成了自己的Rake文件后的结果。
    rake -T
    图03
  3. 编写自己的Rake命令,其文件名称为install_uml.rake。Rake命令的文件名称与Rake命令无关。命令是由rake和Rake文件的命名域(namespace)名称和任务(task)名称组成的,后面二个名称加上冒号: 。在我们的例子中是这样的 “rake uml:install” 。
    vi lib\tasks\install_uml.rake
    图04

    图05
  4. 查看Rails框架应用软件Rake命令,看看我们的Rake命令是否有。
    rake -T
    图06
  5. 查看我们目录lib,目的是下面比较在写了自己的Rake命令后的结果。
    tree /F lib
    图07
  6. 执行我们自己的Rake命令
    rake uml:install
    图08
  7. 查看我们目录lib
    tree /F lib
    图09

 (五)视听教学:



 (六)必须注意的问题:

  1. 文件.rake实际上就是一个Ruby语言文件。Rake工具是与C/C++语言的make工具或者Java语言的ant工具完成类似功能。
  2. 文件.rake使用比较多的Ruby语言系统包FileUtils,该包是在本地目录 <RUBY_HOME>\share\ri\1.8\system\FileUtils 下。

 (七)参考资料:

  1. 如何使用Rake命令,请看这里
  2. 对于Rails框架应用软件而言,Ram项目有很典型的Rake命令。

 (八)命令清单:

rails code_rake
cd code_rake
rake -T
vi lib\tasks\install_uml.rake
rake -T
tree /F lib
rake uml:install
tree /F lib

 (九)下载文件pdf:

code_rake20061126.pdf

Posted in  | Tags , , , ,  | 2 comments | no trackbacks

Trackbacks: 0

Use the following link to trackback from your own site: http://www.hhtong.com/blog1/articles/trackback/1254

Comments: 2

Leave a response | RSS feed for this post

  1. # 小废物 said 2 days later:
    博主你好^_^ ,博友向51CTO技术博客推荐了您的《Rails框架技术讲座:如何编写自己Rake命令》,已被博采众客栏目收录(查看:http://blog.51cto.com/digest)。 “博采众客”汇聚来自各个博客的优秀原创文章,链接直接指向您的文章。希望我们的推荐能让更多的博友分享您的作品! 博采众客的参与者都有机会获得奖品,详情请见:http://51ctoblog.blog.51cto.com/blog/26414/9910 如果您不希望被我们推荐,请以登陆名回复说明,并发邮件至blog@51cto.com,我们会取消对您的链接,谢谢!
  2. # 小废物 said 2 days later:
    博主你好^_^ ,博友向51CTO技术博客推荐了您的文章,已被博采众客栏目收录(查看:http://blog.51cto.com/digest)。 “博采众客”汇聚来自各个博客的优秀原创文章,链接直接指向您的文章。希望我们的推荐能让更多的博友分享您的作品! 博采众客的参与者都有机会获得奖品,详情请见:http://51ctoblog.blog.51cto.com/blog/26414/9910 如果您不希望被我们推荐,请以登陆名回复说明,并发邮件至blog@51cto.com,我们会取消对您的链接,谢谢!

Leave a response

Toggle website and email fields