Ruby ライブラリ exifr に PR を出してミリ秒を処理できるようにしてもらった
GitHub で他の人のリポジトリに Pull Request を出すの初めて(*´∀`)
時系列な出来事を箇条書き
- 普段から写真画像を処理するために Exif 情報を抽出できる Ruby のライブラリ exifr を使っていた
- iOS アプリ「Microsoft Pix カメラ」で写真を撮ると Exif の日時情報にミリ秒が入る
- iOS 標準の「カメラ」アプリで写真を撮ると Exif の日時情報にミリ秒が付かない
- exifr 1.3.4 ではミリ秒付きの日時情報を処理していない (ミリ秒無しだと Time オブジェクトで返ってくるが、ミリ秒付きの場合は処理できないフォーマットとして String で返ってくる)
- exifr でミリ秒付きの日時情報を処理したいと考える
- exifr を GitHub 上で fork して、ミリ秒を処理するコードを書いて Pull Request を出す
- コードが汚いので exifr 開発者の方に修正案を出される (;´Д`)
- コードを再度修正
- Pull Request をマージしてもらう
- exifr 1.3.5 がリリースされる。自分の名前もクレジットしてもらえた(∩´∀`)∩
テスト用のデータを準備
テスト用のデータとして使うために写真を撮ったのは今年の5月。大名古屋ビルヂングと名古屋プライムセントラルタワーの写真を撮った。
自分がテストするときはオリジナルの写真データを使ったが、exifr のリポジトリにあるユニットテスト用には大きすぎるので、 ImageMagick で 100px ぐらいに縮小した画像データを生成して Pull Request に追加した。