Ruby2.3でGemを自作しよう(CLIツール)

Rubyでプログラミングすると必ずと言っていいほど使うGemを自作してみましょう。
環境: Mac OS X, Ruby 2.3.1p112
前提としてRubyがインストールされていることとします。Rubyのインストール方法は過去記事の「MacOSにHomebrewのインストール」を参照してください。

GemのアップデートとBundlerインストール

GemのアップデートとBundlerインストールを行います。

Gemのひな形作成

Gemのひな形はコマンドで簡単に出来てしまいます。
今回は簡単なCLIツールを作ってみます。
「test_gem hello」と入力すると、
“Hello World!!”と出力するGemを作ってみましょう。

既存のGemと名前が重複しないように注意してください。Gem一覧はrubygems.orgで検索できます。Gemは本来はspecでテストするべきなのですが、今回は練習用なので省略します。名前は、仮にtest_gemとしておきます。
さっそくbundlerを使ってGemのひな形作成をしてみます。

上記のようなファイルを自動で生成してくれます。これらのファイルはGitで管理することができます。Githubに公開するのが一般的です。
ファイル「test_gem.gemspec」にはどういったGemかといった説明や、作者の簡単な情報を入力する必要があります。

Gemの実装・ビルド

CLIツールに必要な依存Gemとして”thor”を記載します。
「test_gem/test_gem.gemspec」の下の方に「spec.add_dependency ‘thor’」と追記します。
TODOの記載のある、spec.summary 、spec.description、spec.homepageには適切な文言を入力してください。

test_gem/exe/test_gemを編集してみましょう。
以下の様なソースにします。
「version」、「-h」、「hello」といったオプションに対応させます。

bundle installします。

さっそくビルドしてみます。

ローカルにできあがったgemをインストールします。

Gemのテスト

ヘルプコマンドを入力してみましょう。

色々コマンドを試してみます。

今回は練習用のGemですが、
きちんと作成したら、この後、rake releaseコマンドでRubygemsに公開することができます。