在开发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!
18 November 2011 Suzhou, China这样一个最简单的ruby gem 就完成了,更深入的东西看官方文档 (原创)