Hacktoberfest 2022で建てたOSSへのPR

有給消化の一ヶ月間好き放題してたらRubyの全てを忘れてしまったのでHacktoberfestの機会にいくつかPRをだした。
なおHacktoberfest対象レポジトリ以外にもPRは建ててます。

Pundit

https://github.com/varvet/pundit/pull/745

rubocop-rspecには外部Gemが追加したRspecのDSLをLintの対象にできる機能がある。

PunditのRspec用DSLであるpermissionsを対応させた。good first issueという感じですぐ作業が完了したので特にいうことはなし。

bake-test-external

https://github.com/ioquatix/bake-test-external/pull/2

開発中のGemに依存している別のGemのテストを、開発中のGemを使って実行できるGem。Samuel Williamsさん製。
後述するPRの作業中に必要になったのでPRを建てた。

このGemの仕組みとしてテストしたいGemのレポジトリをcloneしてきてGemfileにローカルのGemを参照させるよう加筆する仕組みになっているのだけれど、gemspecで参照されることのみ想定していたのかGemfileに開発中のGemの名前が書いてあるとGemfileに同じ名前が2つのってしまっていたので修正した。
PRの内容がいちいち正規表現合成してたり良くないコードだったんだけど
I'm generally okay with this, but I'm a little concerned it's fragile. However, it's not critical it breaks.
というオブラートに包んだコメントもらった後にすぐマージしてくれた。なお上からちゃんと修正してくれていた。押しかけコミット押し付け太郎になってしまい反省しています。

omniauth

https://github.com/omniauth/omniauth/pull/1095

ここからはまだマージされてないPR。
bake-test-externalについて知ったのはこのPRが理由。 bake-test-externalを使ってomniauthのCIにdeviseのテスト実行を追加するPR。issueにgood first issueラベルが貼ってあったので取り組んでみた。確かにomniauthの変更でdeviseがバグってないか確認できたら便利そうではある。
マージされるかはわからないが、メンテナーの人が最近忙しいみたいなことをレポジトリのどこかで書いていた気がするのでクローズされるにしろマージされるにしろ時間かかりそう

Puma

https://github.com/puma/puma/pull/3006

Twitterでメンテナーの方が宣伝してたので便乗してPRを建てた。

完全に人の褌で相撲をとっている状態である。
自分でやったのはSymbolとString変換したりテストちょろっと足したぐらい。
このPRはメンテナーの方からスタンプとラベル貰えたのですぐにクローズされることはなさそう。 sd_notifyって概念初めて知ったし勉強になった。

あとがき

こいつgood first issueばっかやっとるな。