DirクラスかPathnameクラスを使用すると取得できる
Dir.glob(pattern)
Dir.glob("RAILS_ROOT/public/stylesheets/*.css")
Pathname.glob(pattern)
Pathname.glob("RAILS_ROOT/public/stylesheets/*.css")
stylesheetsにあるcssファイルを取得してる
DirとPathnameの違い
文法的には対して変わらないのだけど返ってくる結果の型が違う
- Dirは文字列の配列
- PathnameはPathnameオブジェクトの配列
ワイルドカード指定
例えばstylesheets以下のディレクトリにあるcssも取得したい
Dir.glob("RAILS_ROOT/public/stylesheets/**/*.css")
ワイルドカード
* | 空文字を含む任意の文字列 |
---|---|
? | 任意の一文字 |
[] | 括弧内のいずれかの文字 |
{} | カンマで区切られた文字列の組み合わせ |
/** | /*の0回以上の繰り返し(ディレクトリ) |
- /stylesheets
- style.css
- /admin
- admin.css
- /layout
- layout.css
みたいなファイル構成で全てのcssファイル名を取得したい時とか