Gemの作り方

RightCSVで久々にGemを作ったので、最近のGemの作り方をメモっときます。

GitHub上にリポジトリを作って git clone

別に最初にやらなくてもいいですけど、どうせ GitHub で公開するのなら最初にやっといた方が楽です。READMEやLICENSEファイルも作ってくれますし。

% git clone git@github.com:tmtm/rightcsv.git

bundle gem で雛形を作る

% bundle gem rightcsv --test 
Creating gem 'rightcsv'...
      create  rightcsv/Gemfile
      create  rightcsv/lib/rightcsv.rb
      create  rightcsv/lib/rightcsv/version.rb
      create  rightcsv/rightcsv.gemspec
      create  rightcsv/Rakefile
    conflict  rightcsv/README.md
Overwrite /tmp/rightcsv/README.md? (enter "h" for help) [Ynaqdh] y
       force  rightcsv/README.md
      create  rightcsv/bin/console
      create  rightcsv/bin/setup
      create  rightcsv/.gitignore
      create  rightcsv/.travis.yml
      create  rightcsv/.rspec
      create  rightcsv/spec/spec_helper.rb
      create  rightcsv/spec/rightcsv_spec.rb
Initializing git repo in /tmp/rightcsv

ライブラリやテストコードやREADMEを書く

% cd rightcsv
...

テスト

% rake spec

gemspec を書いて gem を作る

*.gemspec の中の TODO 部分を書き換えてから、rake build を実行。

% rake build
rightcsv 0.1.0 built to pkg/rightcsv-0.1.0.gem.

RubyGems に公開

% rake release

最近は楽ですねー。昔はいろいろ手作業してたのに。