作ったもの
何これ
たまにしょうもないもの(たとえば、キルミーベイベー画像ジェネレータとか)を作ってGithubにプッシュするけれど、ライセンスとかもうどうでも良いし好きに使って欲しいけど、ライセンスの表記が無いのも使いたい人が戸惑う。そういうときに最高のライセンスWTFPLがあるのだが、作ったものにいちいちこいつを入れるのもめんどくさい。
そんなときに、コマンド一つでWTFPLのライセンスファイルを生成してくれるGemです。
Usage
$ echo 'gem "wtfpl_init" >> Gemfile
$ bundle install
$ bundle exec wtfpl
これで、wtfplコマンドを実行したディレクトリにLICENSE.mdファイルが作られて、中にはWTFPLのplain text が入っている。
Gemの作り方
RubyGemsのページやDevelopers.IOのブログが参考になります。
RubyGemsのページが王道なのだろうけど、Bundlerが大部分を肩代わりしてくれるので、大事な手順は次の二つだけ
RubyGemsのAPIキーを手に入れる
$ curl -u YOUR_RUBYGEMS_USER https://rubygems.org/api/v1/api_key.yaml > ~/.gem/credentials; chmod 0600 ~/.gem/credentials
このコマンドで、RubyGemsからGemのパブリッシュに必要なAPIキーを手に入れられる。もちろん、先にRubyGemsに登録しておく必要はあるので、サインアップを忘れずに。
curlでアクセスするときにユーザーネームを渡すので、Basic認証がかかり、パスワードを聞かれる。サインアップしたときのパスワードを入れると、APIキーが降りてきて、それを$HOME/.gems/credentials に保存する
Gemをビルドしてパブリッシュ
BundlerのRakeタスクを使って、Gemをビルド&パブリッシュする
$ bundle exec rake spec
$ bundle exec rake build
$ bundle exec rake release
とりあえずテスト回して、ビルドして、リリース。rake releaseを実行すると、Githubに対象のタグを勝手に打ってくれるらしい。(Rakeタスクを呼んでないからどういう動作になっているのか分からないので、後日読もう)
この二つの手順だけで、GemをRubyGemsにパブリッシュすることが出来る。実際に作ったものが役に立つのかどうかは知らないけれど、変に名前空間を食いつぶすような名前で無ければ、何か作ったら適当にパブリッシュするのが良いんじゃないかと思う。今後は頑張ろう。