Ruby Gems学习笔记

来源:互联网 发布:java开发基础知识 编辑:程序博客网 时间:2024/06/01 21:52

缘起

学习RubyRails投身web开发,绕不开RubyGems。以下是一些看书笔记。

1. 简介

RubyGems是分发和安装Ruby应用程序的包管理器。如同Ubuntu/Debian中的aptRedhat中的yumMac OS中的DarwinPorts一样。RubyGems的优点:

  • l 标准化的软件包格式:Gemspec-使用YAML形式介绍软件的相关信息。
  • l 可以使用Gem服务费分发Gem
  • l 方便的处理包依赖关系
  • l 处理版本依赖关系
  • l 通明的替代Ruby

使用RubyGems,必须先安装RubyRuby的安装可以参考www.ruby-lang.org

RubyGems的官方站点为:http://rubygems.org

2. 使用

安装包:gem install gemname

帮助:gem help [command] 比如,gem help install

使用的时候,在ruby脚本中require ”gemname“

大多数gem包都是ruby实现的,但是有些包可能是由C或者其他的语言实现的。

包版本管理

gem list gemname #列出包的信息

gem list --remote gemname #列出远程包的信息

gem install -v 1.0.5 gemname

gem uninstall gemname #卸载相应的包

gem uninstall gemname -v 2.0.2 #卸载相应版本的包

gem update gemname #升级包的信息

gem update #更新所有的信息

gem delete “<2.0.0” gemname

GemRuby 2.1.0,Gem 2.2.2)涉及的目录(备注,这里是使用的源代码安装方式的默认目录):

下载的gem包的位置:/usr/local/lib/ruby/gems/

文档所在的目录:/usr/share/doc/rubygems/

主目录下的:~/.gem目录

这里,/usr/local/lib/ruby是一个很重要的目录。

3. 特殊的Ruby Gem

ActiveRecord:对象关系模型ORM

BlueClothRuby实现的Markdown风格的标记语言

RedClothRuby实现的Textile风格的标记语言

CampingRuby实现的微型web开发框架,其中使用Markabymarkup as ruby)的Gem

Cmdparase:为基于命令行的应用程序提供支持的Gem

ErubiseRuby标记语言的一种实现,eRuby标记语言可以在HTML中嵌入Ruby代码

Feedtools:解析RSS或者Atom格式的Feed

FxRuby:利用FOX库和Ruby创建GUI程序(注:RubyGUI程序可以使用Tcl/tkRuby接口)

Hpricot:简单快速的解析HTMLGem

Fastercsvcsv数据解析Gem

Multi:为Ruby提供多重分派的功能

Mongrel:快速,稳定的Rubyweb服务器,处理静态内容时搭配Apache

Net-SFTP:提供SFTP库的Gem包,可以利用SSHSFTP操作服务器的文件和目录

Creditcard:验证信用卡的Gem

PDF-Writer:可以成为创建PDF文件的Gem

Runt:能够创建时间表达式,从而处理周期性事情的Gem

Rails:使用ActiveRecord的杰出的web开发框架

Rake:自动执行任务的工具,类似C/C++makeJava中的ant

RMagick:处理图片的Gem包,ImageMagickRuby访问接口,使用的前提是需要安装ImageMagick或者GraphicsMagick

Memcache-Client:分布式缓存系统MemcachedRuby实现

Rubyzip:管理zip压缩包的Gem

Memoize:加速函数调用的Gem

Tidy:清理非标准格式的HTML

重点研究的gem包:ActiveRecord,Camping,Rails,Mongrel,其中优先研究Rails

4. 创建Gem

Gem包是名为.gem后缀名的文件,实际类似ziptar的压缩包,其中包含了必要的几个目录和文件。Lib包含所有Ruby源代码,test包含所有的测试文件,可选的README包含gem包的描信息。文件列表和元数据都记录在Gemspec中。

创建Gem包的步骤:

1.首先,创建一个Gem规格书,可通过Gem::Specification对象创建获得

2.然后,运行gem build创建包

具体可以参考:http://docs.rubygems.org/read/chapter/20

分发gem

1.Httpftp分发

2.添加到gem的官方服务器上

3.构建本地服务器分发

后记

关于RubyRails的学习,已经迈出很大一步。从图书馆收集如些的这些书:

Rails 项目实战剖析与技巧大全》:待看

Ruby on Rails 构建与运行》:看一半

Head First Rails;看一点

Ruby编程语言》:看1/3

Ruby元编程》:看一点

Ruby Gems 开发实战》:如上笔记,看了一点

Rails高级编程》:狠狠看,书不错,讲得非常的清楚透彻,看了大半

REST实战》:看了一点,就跑过去看《架构风格与基于网络的软件架构设计》

Web开发敏捷之道 第四版》:正在看

web标准实践》:看了1/5,讲得挺有意思的

希望自己通过一个月多的学习能够找到一份Rails的工作,自己给加油吧

参考文献

1.Ruby Gems开发实战,David Berube著,王磊等译

2.随书源代码:http://www.apress.com/9781590598115

0 0
原创粉丝点击