本記事はエイチームフィナジーアドベントカレンダー4日目の投稿です。
ちいさいgemを作ってはじめて公開したお話になります。
ツイートするだけのシンプルなツールが欲しかった
普段プライベートで開発や調べ物をしてるときに、作業内容をメモがてらTwitterにつぶやいたりしています。そういうときはだいたいターミナルを開いて作業してるので、いちいちTwitterクライアントに切り替えるのがめんどくさいです。なのでターミナルから使えるCLIのクライアントをいくつか使ってるのですが、たいてい高機能で個人的にほぼ使わない機能がいっぱいあって、もっとシンプルなのが欲しいなと常々思っていました。
gemを作って公開してみたかった
業務でRailsアプリをメンテしてたりプライベートでRails製の個人サイトを運用してたり、普段からRubyによく触れています。当然gemの導入やコードを読むこともありますが、gemを作って公開したことはありませんでした。
ちょうどいいのでgemとしてリリースしてみることにしました。
作ったgem「twee」
tweeというgemを作りました。
gem install
して、twee
を実行して出力されるURLにブラウザでアクセスして、表示されるPINコードをコピーして貼り付ければ設定完了です。
$ gem install twee
$ twee
Please access this URL : https://twitter.com/oauth/authorize?oauth_token=xxxxxxxxxxxxxxxx
Please enter the PIN code :
できるのはツイートだけ
twee
に文字列を渡すと、それがそのままツイートされます。
$ twee おなかすいた
200
もし文字列がスペースや改行を含む場合は"
で囲むなどしてください。
コマンド実行時に表示される数字はTwitter APIからのレスポンスコードです。200
ならツイート成功です。それ以外の場合はツイートできていないと思われるので、文字列を修正したりして再度実行してみてください。どうにもならない場合はよろしければGithubのIssuesまでご報告ください
gemの作成と公開はかんたん
gemの作成と公開で躓くところはとくにありませんでした。
bundle gem
で生成される雛形を編集してbundle exec rake release
でrubygems.orgに公開完了です。
雛形でGithub Actionsのワークフローも生成してくれるのは、そのへん不慣れな自分には助かりました。
あえて言えばgemの名前を考えるのが一番難しかったです。
おわりに
CLIでツイートするだけのgemを作って公開したお話でした。
今回はじめてgemを公開できて、個人的にgem公開の心理的ハードルが下がったのがよかったです。
まだリリース手順など小慣れてないところがあるので、tweeをメンテしつつ理解を深めたいと思います。