婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 創建自定義的Ruby gem包的教程

創建自定義的Ruby gem包的教程

熱門標簽:中牟外呼系統違法嗎 征服者企業地圖標注 柯城手機地圖如何做地圖標注 淮安自動外呼系統供應商 AI電銷機器人 線路 外呼線路從哪里出來的 巫師3地圖標注魔力之所 漯河電銷 天津外呼系統怎么收費

編寫一個最簡單的例子

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    = 'nick@quaran.to' 
   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    = 'nick@quaran.to' 
   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包管理器的用法及用bundler來管理多版本的gem
  • Ruby中的gem包管理的使用及gem源搭建教程
  • Ruby包管理器gem常用命令
  • ruby執行周期性任務的三種gem介紹
  • Ruby環境下安裝使用bundler來管理多版本的gem

標簽:河池 克拉瑪依 南昌 大慶 內江 甘孜 棗莊 西雙版納

巨人網絡通訊聲明:本文標題《創建自定義的Ruby gem包的教程》,本文關鍵詞  創建,自定義,的,Ruby,gem,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《創建自定義的Ruby gem包的教程》相關的同類信息!
  • 本頁收集關于創建自定義的Ruby gem包的教程的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美午夜精品理论片a级按摩| 午夜亚洲福利老司机| 亚洲特黄一级片| 午夜欧美视频在线观看| 午夜精品久久一牛影视| 国产成人8x视频一区二区| 91蝌蚪porny九色| 久久综合九色综合97_久久久| 亚洲精品一区二区三区蜜桃下载 | 不卡视频在线观看| 国产精品久久久久久久岛一牛影视| 免费一级欧美片在线观看| 成人自拍视频在线观看| 精品国产乱码久久久久久久| 日本强好片久久久久久aaa| 久久精品国产亚洲高清剧情介绍 | 欧美一区二区日韩| 亚洲欧洲日韩av| 粉嫩av一区二区三区在线播放 | 欧美在线一二三| 国产精品第一页第二页第三页| 韩国av一区二区三区在线观看| 日韩一区二区不卡| 激情综合网最新| 亚洲午夜久久久| 日韩欧美卡一卡二| 麻豆传媒一区二区三区| 日韩欧美电影一区| 欧美中文字幕一区二区三区| 天堂va蜜桃一区二区三区漫画版| 欧美精品乱人伦久久久久久| 99精品桃花视频在线观看| 一区二区三区中文免费| 欧美性色欧美a在线播放| 首页欧美精品中文字幕| 欧美va亚洲va| 欧美午夜宅男影院| 日韩av电影免费观看高清完整版 | 午夜亚洲福利老司机| 精品黑人一区二区三区久久| 国产精品88888| 亚洲成在人线在线播放| 9191成人精品久久| www.欧美色图| 国产成人无遮挡在线视频| 亚洲综合另类小说| 精品1区2区在线观看| av亚洲精华国产精华精| 美日韩一级片在线观看| 国产精品污www在线观看| 欧美电影免费观看完整版| 国产毛片精品视频| 免费美女久久99| 中文字幕一区二区视频| 精品不卡在线视频| 26uuu久久天堂性欧美| 在线看日韩精品电影| 成人激情开心网| 91网上在线视频| 成人综合婷婷国产精品久久蜜臀 | 精品人在线二区三区| 欧美日韩一区二区三区不卡| 91女厕偷拍女厕偷拍高清| 美女视频黄久久| 欧美在线免费播放| 懂色一区二区三区免费观看| 激情成人综合网| 激情综合网av| 色视频成人在线观看免| 欧美午夜一区二区三区| 欧美私人免费视频| 日韩三级视频在线看| 久久蜜桃一区二区| 国产精品美女久久久久高潮| 亚洲综合一区二区三区| 夜色激情一区二区| 久久99精品久久久久久久久久久久 | 爽好久久久欧美精品| 日韩电影在线观看一区| 国产一区二区三区精品视频| 91福利在线观看| 专区另类欧美日韩| 综合欧美亚洲日本| 亚洲电影欧美电影有声小说| 国产精品综合久久| 制服丝袜av成人在线看| 亚洲一区二区四区蜜桃| 97精品国产97久久久久久久久久久久 | 国产欧美日韩综合| 久久99久久久久久久久久久| 欧美精品1区2区| 亚洲高清一区二区三区| 欧美午夜精品久久久久久超碰| 亚洲激情综合网| 日韩丝袜情趣美女图片| 国产福利一区二区三区视频 | jvid福利写真一区二区三区| 亚洲人精品一区| 欧美激情在线一区二区三区| 久久精品亚洲国产奇米99| 中文字幕中文乱码欧美一区二区| 日本特黄久久久高潮| 欧美日韩国产一二三| 日韩美女主播在线视频一区二区三区| 中文字幕制服丝袜成人av | 蜜臀a∨国产成人精品| 日韩精品最新网址| 国产不卡一区视频| 一区二区三区在线影院| 99精品欧美一区| 中文字幕中文在线不卡住| 国产精品自拍毛片| 国产精品五月天| 91在线观看地址| 国产在线精品免费| 国产精品毛片a∨一区二区三区| 99麻豆久久久国产精品免费| 国产日产欧美一区| 欧美三级在线播放| 精品一区二区在线播放| 国产精品麻豆网站| 欧美精品一卡二卡| 国产乱人伦偷精品视频免下载| 精品国产免费一区二区三区香蕉| 99视频精品在线| 国内精品久久久久影院色| 亚洲一区二区三区免费视频| 日韩三级免费观看| 色婷婷久久久久swag精品| 国产一区久久久| 午夜激情一区二区三区| 中文字幕一区在线| 欧美mv日韩mv| 一本大道av一区二区在线播放| 国产99久久久国产精品潘金网站| 美女网站色91| 久久狠狠亚洲综合| 尤物在线观看一区| 国产精品乱人伦中文| 中文字幕中文字幕一区| 亚洲视频在线一区观看| 国产精品免费aⅴ片在线观看| 日韩精品中午字幕| 精品国免费一区二区三区| 久久影院午夜论| 国产欧美一区二区精品性| 欧美一区二区三区啪啪| 欧美性受极品xxxx喷水| 69成人精品免费视频| 久久精品夜色噜噜亚洲aⅴ| 国产欧美一区二区精品婷婷| 日韩欧美电影一区| 中文字幕在线观看一区二区| 亚洲免费三区一区二区| 亚洲成人免费看| 国产成人高清在线| 久久99久久99| 99久久精品免费精品国产| 欧美顶级少妇做爰| 精品黑人一区二区三区久久| 日韩欧美国产高清| 精品国产髙清在线看国产毛片| 国产视频一区二区三区在线观看| 国产精品传媒在线| 狠狠色综合日日| 色婷婷精品久久二区二区蜜臂av | 日韩欧美卡一卡二| 国产日本一区二区| 亚洲视频你懂的| 午夜免费久久看| 免费欧美高清视频| 日本久久一区二区| 国产视频一区二区三区在线观看| 亚洲欧美另类小说视频| 国产98色在线|日韩| 91精品国产91久久综合桃花| 日韩中文字幕亚洲一区二区va在线| 亚洲国产一区二区视频| 免费精品99久久国产综合精品| 欧美日韩国产高清一区二区三区 | 韩国v欧美v日本v亚洲v| 欧美亚洲综合网| 男女视频一区二区| 亚洲精品乱码久久久久| 亚洲一区二区偷拍精品| 日韩毛片精品高清免费| 国产女主播视频一区二区| 成人精品视频一区二区三区尤物| 日韩一卡二卡三卡国产欧美| 欧美视频一区在线| 亚洲午夜羞羞片| 日韩情涩欧美日韩视频| 亚洲色图制服丝袜| 91老师片黄在线观看| 肉丝袜脚交视频一区二区| 久久欧美中文字幕| 福利电影一区二区三区| 亚洲成a人片综合在线| 欧美一区二区精品在线| 日韩欧美国产高清|