Ruby 2.6.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > FileTestモジュール > blockdev?

module function FileTest.#blockdev?

blockdev?(file) -> bool[permalink][rdoc]

ファイルがブロックスペシャルファイルである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。

例:

Dir.glob("/dev/*") { |file|
  puts file if FileTest.blockdev?(file)
}
# /dev/disk0
# /dev/disk0s3
# ...