almost 4 years ago

系統:

Mac OS X Yosemite 10.10.1
Ruby 2.2.0
Rails 4.2.0

相關連結

說明手冊 ( http://guides.rubygems.org/ )

前言

用 Ruby on Rails 開發也一段時間了,也自己弄了一些開發常用的 Helpers,現在,就練習將這些 Helpers 打包到自己專屬的 gem,以後使用的時候也比較方便。

設定步驟如下

1. 在 GitHub 新增一個空的 repository

前往 https://github.com/new 新增一個空的 repository,筆者新的 repository 是 andy_rails_toolbox

2. 新增 gem 專案

執行以下指令產生空的 gem 專案資料夾

$ bundle gem andy_rails_toolbox
# =>       create  andy_rails_toolbox/Gemfile
# =>       create  andy_rails_toolbox/Rakefile
# =>       create  andy_rails_toolbox/LICENSE.txt
# =>       create  andy_rails_toolbox/README.md
# =>       create  andy_rails_toolbox/.gitignore
# =>       create  andy_rails_toolbox/andy_rails_toolbox.gemspec
# =>       create  andy_rails_toolbox/lib/andy_rails_toolbox.rb
# =>       create  andy_rails_toolbox/lib/andy_rails_toolbox/version.rb
# => Initializing git repo in /Users/chouandy/andy_rails_toolbox

3. 修改檔案

andy_rails_toolbox.gemspec
  ...
  spec.summary       = %q{Includes many useful helpers for rails development.}
  spec.description   = %q{Andy Rails Toolbox includes many useful helpers for rails development.}
  spec.homepage      = "https://github.com/ChouAndy/andy_rails_toolbox"
  ...
README.md
# Andy Rails Toolbox

Andy Rails Toolbox includes many useful helpers for rails development.

...
## Usage

Building
...

4. 新增 GitHub tag 版本號

修改好之後,將檔案更新至 GitHub,並新增與 lib/andy_rails_toolbox/version.rb 內一樣版本號的 tag。

$ git add .
$ git commit -m "Initial"
$ git push origin master
$ git tag -a v0.0.1 -m "version 0.0.1"
$ git push origin v0.0.1

5. 打包

執行以下指令進行 gem 打包

$ gem build andy_rails_toolbox.gemspec

打包完會自動產生一個帶有版本號的 .gem 檔 ( 筆者為 andy_rails_toolbox-0.0.1.gem )

6. 發布

如果尚未擁有 https://rubygems.org/ 帳號,則前往 https://rubygems.org/sign_up 註冊,註冊好之後就可以執行以下指令進行 gem 發布 ( 第一次過程中它會要求輸入帳號、密碼 )。

$ gem push andy_rails_toolbox-0.0.1.gem

7. 查看發布情形

發布成功之後,就可以前往 https://rubygems.org/ 搜尋查看自己專屬的 gem 摟。
也可以直接在網址後面加上 gems/your_own_gem_name,就可以查看了。
例如:https://rubygems.org/gems/andy_rails_toolbox

← 實作連動選單 ( dynamic select ) 打造專屬 gem - part 2 - 新增自製 Helper、Assets 檔案 →
 
comments powered by Disqus