Ruby - 创建自己的GEM

时间:2014-03-09 01:15:57   收藏:0   阅读:531

Log 1 创建自己的gem

背景:好奇gem包的用法,首先搞清楚什么是gem包。那我们就先来创建一个自己的gem包。

时间:2014-3-8

环境:Ubuntu + Ruby 1.9.3

记录:Roy


 

 

创建目录结构

bubuko.com,布布扣
$ cd ~;mkdir -p codes/ruby/sayhello
$ cd codes/ruby/sayhello
$ mkdir bin
$ mkdir lib
bubuko.com,布布扣

创建vim lib/sayhello.rb

bubuko.com,布布扣
1 #!/usr/bin/ruby
2 
3 def sayhello(name)
4     puts "#{name} says hello to you!"
5 end
bubuko.com,布布扣

创建vim bin/sayhello

bubuko.com,布布扣
1 #!/usr/bin/ruby
2 require sayhello
3 param_num = 0
4 while param_num < ARGV.length
5     sayhello(ARGV[param_num])
6     param_num += 1
7 end
bubuko.com,布布扣

创建vim sayhello.spec

bubuko.com,布布扣
 1 SPEC=Gem::Specification.new do |s|
 2     s.name = sayhello
 3     s.version = 0.1.0
 4     s.files = lib/sayhello.rb
 5     s.executable = sayhello
 6     s.summary = This is an example!
 7     s.description = A sample to say hello.
 8     s.email = burningroy2011@gmail.com
 9     s.homepage = "<link>"
10     s.authors = [Roy]
11 end
bubuko.com,布布扣

sayhello目录结构

bubuko.com,布布扣
$ tree .
.
|
|-----bin
|      |---sayhello
|-----lib
|      |---sayhello.rb
|-----sayhello.spec
bubuko.com,布布扣

执行build

bubuko.com,布布扣
$ gem build sayhello.spec
bubuko.com,布布扣

安装sayhello包

bubuko.com,布布扣
$ gem install sayhello-0.1.0.gem
Successfully installed sayhello-0.1.0
1 gem installed
Installing ri documentation for sayhello-0.1.0...
Installing RDoc documentation for sayhello-0.1.0...
bubuko.com,布布扣

已经安装的gem位置

bubuko.com,布布扣
$ cd /var/lib/gems/1.9.1/gems
$ tree .
.----sayhello-0.1.0
        |
        |-----bin
        |     |---sayhello
        |-----lib
              |---sayhello.rb
bubuko.com,布布扣

使用包进行测试

创建vim ~/dash.rb

bubuko.com,布布扣
1 #!/usr/bin/ruby
2 
3 require rubygems
4 load Gem.bin_path(sayhello,sayhello)
bubuko.com,布布扣

执行~/dash.rb(注意打开执行权限)

bubuko.com,布布扣
$ ~/dash.rb Roy Lydia Osan
Roy says hello to you!
Lydia says hello to you!
Osan says hello to you!
bubuko.com,布布扣

在dash.rb中,我们通过load Gem.bin_path。去调用sayhello包中的bin/sayhello,并且bin/sayhello调用了lib/sayhello.rb。

Ruby - 创建自己的GEM,布布扣,bubuko.com

原文:http://www.cnblogs.com/burningroy/p/3588767.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!