2019年にOSSに送ったpatchを振り返る
mergeされたものも、されていないものも含みます。瑣末なものは取り上げません。
リポジトリごとに時系列順です。
k0kubun/rack-user_agent
これは rack-user_agent gem を業務で使おうとしたときに最新のRubyでCIが実行されていなかったので送ったpatchだったはずです。
rubocop-hq/rubocop
これは、Railsの belongs_to において class_name にはClassではなく文字列を渡すようにするCopに対し、文字列だけでなくSymbolも許容するように変更するものです。
これについては以前noteに記事を書いたのでそちらを見ていただければ。
udzura/mruby-argtable
これは、mruby-argtableが依存している argtable/argtable3 の方針変更により、それを静的リンクさせるbranchでのbuildが失敗するようになっている問題を修正するものです。
argtable/argtable3
そして、mruby-argtableを修正する過程において、実行しなければいけないscriptに実行権限がない問題を修正するpatchを argtable/argtable3 に送りました。
itamae-kitchen/itamae
これどうしようかなーーー……詳しくはこの記事で。
これは定期CIが落ちるようになっていたのを直したものです。これ何で落ちるようになったんでしたっけ、RSpec側の変更でしたっけ、あまり覚えてない……
これは、ruby-head で実行していたCIが落ちるのを直そうとしていたものです。Itamae側に原因がなかったので、これ自体はCloseしました。
tootsuite/mastodon
これは、Mastodonの翻訳プラットフォームがWeblateから直接Pull Requestを送るように方針が変わったことをCONTRIBUTING.mdに反映させるpatchです。
そして、翻訳プラットフォームが直接Pull RequestからCrowdinに変更されたのにも追従するpatchを送りました。(これはsyntaxがおかしくて後日修正するpatchが送られています……)
皆さんは平成Ruby会議01でのkoicさんの発表を覚えていますか?
私は力技で全部修正するpatchを送りました。それがこれです。まあこの程度なら、ね。
2factorauth/twofactorauth
https://twofactorauth.org という2段階認証ができるサービスの一覧があるのですが、 RubyGems.org が2段階認証に対応したので、その情報を追加するpatchです。
qmk/qmk_firmware
これは自作キーボードのファームウェアなのですが、インストールの過程でArch Linuxにおいて依存関係が不足していたのを補うpatchです。
rails/rails
$ bin/rails routes --format=json
を実現したかったのですが、rejectされてしまいましたね。残念。
middleman/middleman
middleman extension コマンドにおいて生成される gemspec の形式を bundle gem のそれと合わせるものです。これ2020年には merge までもっていきます。
平成Ruby会議01でも話した、MiddlemanのWindowsにおけるCIのがんばりの過程で、単体で実行すると必ず失敗するtestがあったのでそれを修正するpatchです。
はい、Windows。詳しくは次の資料を。
Ruby 2.7 から(だと思うんですけど) URI.decode を使用すると警告が出るようになったので、それを回避するためにWEBrick::HTTPUtils.escapeを使用するようにしたpatchです。これはまた別で記事を書こうと思っています。
excon/excon
Itamaeがruby-headでのCIに失敗するようになった原因を修正するpatchです。Frozenな文字列に対して変更を加えようとして例外が発生していました。sue445さんに言われて気づいたのですが、#711 がmergeされてReleaseされたversionがv0.71.1ってすごくないですか?!
ふりかえり
fix typoとかを除いて20前後、という感じでした。fix typoも含めた全部が見たい!という方は以下リンクをどうぞ。
投げ銭していただけるととても嬉しいです