如何编写一个rubygem

在开发everyday和tech talk的时候一直使用别人开发的ruby gem,一直对别人的gem比较好奇,最近有时间看了下ruby gem的开发规范,自己写了个最简单的hello.gem作为入门实例和大家分享,下面看具体的实现:

##先看下gem的基本文件布局:

gemspec	#gem的规范说明。
lib                    #用于存放lib文件
bin                   #用于存放可执行文件
ext                   #存放C/C++文件
tests                #存放单元测试文件

##下面我们开始编写Gem,创建如下目录和文件:

hello/hello.gemspec
hello/lib/hello.rb

##hello.gemspc实现:

Gem::Specification.new do |s|
	s.author='tim.tang'
	s.email='tang.jilong@139.com'
	s.homepage='http://tim.everyday-cn.com'
	s.files = ["lib/hello.rb"]
	s.description = 'Hello world rubygem'
	s.name = 'hello'
	s.version = '0.1.0'
	s.summary = 'hello gems'
	s.files = ["lib/hello.rb"]
end

##hello.rb实现:

def hello
	"hello, this is my first ruby gem!"
end

##编译hello.gem

$ gem build hello.gemspec

##安装hello.gem

$ gem install hello.gem

##最后写个测试test.rb:

require 'rubygems'
require 'hello'
puts hello

##成功输出:

hello, this is my first ruby gem!

这样一个最简单的ruby gem 就完成了,更深入的东西看官方文档 (原创)

126 Words 18 November 2011 Suzhou, China