麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Ruby > 正文

創建自定義的Ruby gem包的方法

2020-02-24 15:37:32
字體:
來源:轉載
供稿:網友

安裝gem包時ruby.html" target="_blank">ruby使用的默認源代碼是rubygems。由于國內的網絡,使用Ruby的gem安裝各種軟件包基本上是失敗的,本文為大家推薦創建自定義的Ruby gem包的方法,希望對你有幫助!

編寫一個最簡單的例子

1. 建好如下文件夾

注意:lib目錄下必須有個和你gem名字一樣的rb文件。

?

復制代碼 代碼如下:

??? $ cd hola?
??? $ tree?
??? .?
??? ├── hola.gemspec?
??? └── lib?
??????? └── hola.rb?

?


2. 編寫代碼

. hola.rb

  % cat lib/hola.rb   class Hola    def self.hi     puts "Hello world!"    end   end 

?


.hola.gemspec

  % cat hola.gemspec   Gem::Specification.new do |s|    s.name    = 'hola'    s.version   = '0.0.0'    s.date    = '2010-04-28'    s.summary   = "Hola!"    s.description = "A simple hello world gem"    s.authors   = ["Nick Quaranto"]    s.email    = '[email protected]'    s.files    = ["lib/hola.rb"]    s.homepage  =     'http://rubygems.org/gems/hola'   end 

?

這里面可以設置很多屬性。我會專門寫篇文章介紹。

上面字段的意思,比較簡單。相信大家都能理解。


3.編譯生成gem

  % gem build hola.gemspec   Successfully built RubyGem   Name: hola   Version: 0.0.0   File: hola-0.0.0.gem      % gem install ./hola-0.0.0.gem   Successfully installed hola-0.0.0   1 gem installed 

?


4.測試使用

  % irb   >> require 'hola'   => true   >> Hola.hi   Hello world! 

?

注意:在ruby 1.9.2之前到版本里面,需要先require 'rubygem',才能使用我們寫的gem.


5.發布到rubygems網站

  $ curl -u tom https://rubygems.org/api/v1/api_key.yaml >   ~/.gem/credentials   Enter host password for user 'tom': 

?

設定完之后發布

  % gem push hola-0.0.0.gem   Pushing gem to RubyGems.org...   Successfully registered gem: hola (0.0.0) 

?

發布成功。

這樣任何一個人都可以使用你寫的gem了。


稍微復雜的rubygem例子

上面的例子只有一個ruby文件,一般gem應該沒有這么簡單的。

下面說下有多個ruby文件該怎么寫。

1. 目錄結構

多了個hola目錄和translator.rb文件

  % tree   .   ├── hola.gemspec   └── lib     ├── hola     │  └── translator.rb     └── hola.rb 

?

2. 代碼

lib/hola/translator.rb

  % cat lib/hola/translator.rb   class Hola::Translator    def initialize(language)     @language = language    end       def hi     case @language     when :spanish      "hola mundo"     else      "hello world"     end    end   end 

?

lib/hola.rb

  % cat lib/hola.rb   class Hola    def self.hi(language = :english)     translator = Translator.new(language)     translator.hi    end   end      require 'hola/translator' 

?

.hola.gemspec

  % cat hola.gemspec   Gem::Specification.new do |s|    s.name    = 'hola'    s.version   = '0.0.0'    s.date    = '2010-04-28'    s.summary   = "Hola!"    s.description = "A simple hello world gem"    s.authors   = ["Nick Quaranto"]    s.email    = '[email protected]'    s.files    = ["lib/hola.rb", "lib/hola/translator.rb"]    s.homepage  =     'http://rubygems.org/gems/hola'   end 

紅色是和上面不一樣的地方。


其他步驟和上面一樣了。很簡單吧!


最后說下怎么寫個 gem包含可執行文件的例子。

這個也很簡單。像rake就是典型的包含可執行文件的gem.

1. 在剛才工程目錄下建個bin文件夾

生成可執行文件,并且修改權限為可運行。

  % mkdir bin   % touch bin/hola   % chmod a+x bin/hola 

?


2. 修改可執行文件內容
bin/hola

  #!/usr/bin/env ruby      require 'hola'   puts Hola.hi(ARGV[0]) 


測試下

  % ruby -Ilib ./bin/hola   hello world      % ruby -Ilib ./bin/hola spanish   hola mundo 


3 .最后修改gemspec

  % head -4 hola.gemspec   Gem::Specification.new do |s|    s.name    = 'hola'    s.version   = '0.0.1'    s.executables << 'hola' 

大家閱讀完上文的介紹,是不是對創建自定義的Ruby gem包的方法都有了了解了?想學習更多這方面的知識,可以將武林技術頻道收藏起來喲!?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 国产一区二区三区色淫影院 | 色播视频在线播放 | 亚洲国产精品久久久 | 中文字幕在线亚洲 | 久久久成人动漫 | 成人免费一区二区 | 久久久无码精品亚洲日韩按摩 | 欧美福利视频一区二区三区 | 亚洲国产午夜精品 | 国产91丝袜在线熟 | 欧美77 | 国产亚洲美女精品久久久2020 | 欧美一级三级在线观看 | 国产91一区二区三区 | 丰满年轻岳中文字幕一区二区 | 日韩毛片免费观看 | 国产免费高清在线 | 精品一区二区三区在线观看视频 | 91精品欧美一区二区三区 | 精品一区二区三区中文字幕老牛 | 国产成人在线视频 | 国产精品欧美久久久久一区二区 | 国产草草视频 | 一区二区三区日韩精品 | 免费a级毛片大学生免费观看 | 精品久久9999 | 国产一级免费视频 | 国产精品一区二区三区在线播放 | 免费99热在线观看 | 毛片118极品美女写真 | 久久精品中文字幕 | 亚洲国产网站 | 中文字幕欧美视频 | 成人精品一区二区三区中文字幕 | 久久国产亚洲精品 | 国产精品久久久久久久亚洲按摩 | a一级黄 | 黄色免费小网站 | 国产一区二区国产 | 一级做a爱片性色毛片高清 日本一区二区在线看 | 国产99久久久国产精品下药 |