動作環境
Ruby3.0.2
Ruby3.0で openメソッド は使えない
open-uri
を使って画像ファイルを開く際、openメソッド
を使用する記事をよく見かけます。
しかしRuby2.7以降、openメソッドは非推奨となり、Ruby3.0以降では使用不可となりました。
Ruby2.7以降の環境でopenメソッドを使うと下記の警告が出ます。
warning: calling URI.open via Kernel#open is deprecated, call URI.open directly or use URI#open
また、Ruby3.0以降の環境でopenメソッドを使おうとすると下記のエラーが発生するはずです。
No such file or directory
Ruby3.0以降における画像ファイルの開き方
さっそく結論です。
Ruby3.0以降では以下のようにすれば画像ファイルを開くことができます。
require 'open-uri'
URI.open('https://hoge.png')
今まではopen
で良かったところをURI.open
とするだけです。簡単ですね😉