您的位置:首页 > 编程语言 > Ruby

Ruby Gems学习笔记

2014-05-09 20:42 323 查看

缘起

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

1. 简介

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

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

使用RubyGems,必须先安装Ruby,Ruby的安装可以参考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

Gem(Ruby 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

BlueCloth:Ruby实现的Markdown风格的标记语言

RedCloth:Ruby实现的Textile风格的标记语言

Camping:Ruby实现的微型web开发框架,其中使用Markaby(markup as ruby)的Gem包

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

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

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

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

Hpricot:简单快速的解析HTML的Gem包

Fastercsv:csv数据解析Gem包

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

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

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

Creditcard:验证信用卡的Gem包

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

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

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

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

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

Memcache-Client:分布式缓存系统Memcached的Ruby实现

Rubyzip:管理zip压缩包的Gem包

Memoize:加速函数调用的Gem包

Tidy:清理非标准格式的HTML

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

4. 创建Gem包

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

创建Gem包的步骤:

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

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

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

分发gem包

1.Http或ftp分发

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

3.构建本地服务器分发

后记

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

《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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: