11
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Ateam Finergy Inc.Advent Calendar 2021

Day 4

CLIでツイートするだけのgemを作った

Last updated at Posted at 2021-12-04

本記事はエイチームフィナジーアドベントカレンダー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までご報告ください :pray:

gemの作成と公開はかんたん

gemの作成と公開で躓くところはとくにありませんでした。
bundle gemで生成される雛形を編集してbundle exec rake releaseでrubygems.orgに公開完了です。
雛形でGithub Actionsのワークフローも生成してくれるのは、そのへん不慣れな自分には助かりました。

あえて言えばgemの名前を考えるのが一番難しかったです。

おわりに

CLIでツイートするだけのgemを作って公開したお話でした。
今回はじめてgemを公開できて、個人的にgem公開の心理的ハードルが下がったのがよかったです。
まだリリース手順など小慣れてないところがあるので、tweeをメンテしつつ理解を深めたいと思います。

11
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?