Closed1

mimemagicに対応する2つのオプションを整理

Matsukura YukiMatsukura Yuki

背景

直近のアクション

  • 開発者は何かしらのアクションを取る必要があります。
    • オプションは2つあります。

Option1

mimemagicをGemfile.lockを編集して0.3.10に変更して、 bundle install する。

  • pro
    • 変更が最小限。
    • テストスコープが狭い。
    • 短期的に速い対応
  • con
    • mimemagicに依存し続ける。
    • いずれはOption2を行う必要がある。

変更例

diff --git a/Gemfile.lock b/Gemfile.lock
index 1b81d40d2..8312ce612 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -384,7 +384,7 @@ GEM
     mime-types (3.3.1)
       mime-types-data (~> 3.2015)
     mime-types-data (3.2020.1104)
-    mimemagic (0.3.5)
+    mimemagic (0.3.10)
     mini_magick (4.11.0)
     mini_mime (1.0.2)
     mini_portile2 (2.5.0)

Option2

mimemagicに依存しているRailsのバージョンを上げる。

  • pro
    • mimemagicに非依存になるのこのissueから開放される。
    • 根本解決
  • con
    • OS側に入っているshared-mime-infoを使うため、特定のファイルのMIME typeの返り値が変わってしまうのでテスト範囲が広がる。
    • mimemagic非依存になったミドルウェア(carrierwaveなど)もテストしておく必要がある。
    • 5.2.5にはCSRF Tokenのデコード時にエラーになるという問題があるから、CSRF Tokenを使っている場合は上げてはいけないってぐらいまずいと思う。
このスクラップは2023/01/25にクローズされました