Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > rakeライブラリ > Rake::FileListクラス

class Rake::FileList

クラスの継承リスト: Rake::FileList < Rake::Cloneable < Object < Kernel < BasicObject
aliases: FileList

要約

このクラスは Array と基本的には同じです。

ファイルの操作をほんの少しだけ、簡単にするためのヘルパーメソッドがいくつか定義されています。

Rake::FileList は与えられた glob のパターンを使ってすぐにファイルを検索せずに、 後で評価するためにそれを保存しておきます。

このことは、多くのファイルにマッチする多くの Rake::FileList を使用できることを意味します。 実際に使用されると Rake::FileList が保持するパターンが評価されます。

目次

特異メソッド
[] new
インスタンスメソッド
* == clear_exclude egrep exclude exclude_from_list? existing existing! ext gsub gsub! import include is_a? kind_of? pathmap resolve sub sub! to_a to_ary to_s
定数
ARRAY_METHODS DEFAULT_IGNORE_PATTERNS DEFAULT_IGNORE_PROCS DELEGATING_METHODS MUST_DEFINE MUST_NOT_DEFINE SPECIAL_RETURN

特異メソッド

self[*args] -> Rake::FileList[permalink][rdoc]

与えられたパターンをもとにして自身を初期化します。

[PARAM] args:
パターンを指定します。
new(*patterns) {|self| ... }[permalink][rdoc]

与えられたパターンをもとにして自身を初期化します。

ブロックが与えられている場合は、自身をブロックパラメータとしてブロックを評価します。

[PARAM] patterns:
パターンを指定します。

例:

file_list = FileList.new('lib/**/*.rb', 'test/test*.rb')

pkg_files = FileList.new('lib/**/*') do |fl|
  fl.exclude(/\bCVS\b/)
end

インスタンスメソッド

self * other -> Array | String[permalink][rdoc]

Array#* と動作を合わせるために再定義しています。

[SEE_ALSO] Array#*

self == array -> bool[permalink][rdoc]

自身を配列に変換してから与えられた配列と比較します。

[PARAM] array:
比較対象の配列を指定します。
clear_exclude -> self[permalink][rdoc]

登録されている除外リストをクリアします。

egrep(pattern) {|filename, count, line| ... }[permalink][rdoc]

与えられたパターンをファイルリストから grep のように検索します。

ブロックが与えられた場合は、マッチした行の情報 (ファイル名、行番号、マッチした行) が ブロックに渡されてブロックが評価されます。ブロックが与えられなかった場合は、 標準出力に、ファイル名:行番号:マッチした行を出力します。

[PARAM] pattern:
正規表現を指定します。
exclude(*patterns) {|entry| ... } -> self[permalink][rdoc]

自身から取り除くべきファイル名のパターンを自身の除外リストに登録します。

パターンとして正規表現、グロブパターン、文字列が使用可能です。 さらにブロックが与えられた場合は、ブロックを評価して真になったエントリを削除します。

グロブパターンはファイルシステムに対して展開されます。 もし、ファイルシステムに存在しないファイルを明示的にリストへ追加した場合、 グロブパターンではそのファイルをリストから削除しません。

例:

FileList['a.c', 'b.c'].exclude("a.c") # => ['b.c']
FileList['a.c', 'b.c'].exclude(/^a/)  # => ['b.c']

# If "a.c" is a file, then ...
FileList['a.c', 'b.c'].exclude("a.*") # => ['b.c']

# If "a.c" is not a file, then ...
FileList['a.c', 'b.c'].exclude("a.*") # => ['a.c', 'b.c']
exclude_from_list?(file_name) -> bool[permalink][rdoc]

与えられたファイル名が除外される場合は、真を返します。 そうでない場合は偽を返します。

[PARAM] file_name:
ファイル名を指定します。
existing -> Rake::FileList[permalink][rdoc]

自身に含まれるファイルのうちファイルシステムに存在するファイルのみを 含む Rake::FileList を返します。

existing! -> self[permalink][rdoc]

自身に含まれるファイルのうちファイルシステムに存在するファイルのみを 含むように自身を変更して返します。

ext(newext = '') -> Rake::FileList[permalink][rdoc]

各要素に String#ext を適用した新しい Rake::FileList を返します。

[SEE_ALSO] String#ext

gsub(pattern, replace) -> Rake::FileList[permalink][rdoc]

自身に含まれるファイルリストのそれぞれのエントリに対して String#gsub を実行し、 結果を新しい Rake::FileList として返します。

例:

FileList['lib/test/file', 'x/y'].gsub(/\//, "\\") # => ['lib\\test\\file', 'x\\y']
gsub!(pattern, replace) -> self[permalink][rdoc]

自身に含まれるファイルリストのそれぞれのエントリに対して String#gsub を実行します。 自身を破壊的に変更します。

import(array) -> self[permalink][rdoc]

与えられた配列を自身にインポートします。

[PARAM] array:
ファイル名のリストを指定します。
include(*filenames) -> self[permalink][rdoc]

ファイル名のパターンを追加リストに登録します。 配列が与えられた場合、配列の各要素が追加されます。

[PARAM] filenames:
追加するファイル名のパターンを指定します。

例:

file_list.include("*.java", "*.cfg")
file_list.include %w( math.c lib.h *.o )
is_a?(klass) -> bool[permalink][rdoc]
kind_of?(klass) -> bool

自身に Array のフリをさせます。

pathmap(spec = nil) -> Rake::FileList[permalink][rdoc]

各要素に String#pathmap を適用した新しい Rake::FileList を返します。

[SEE_ALSO] String#pathmap

resolve -> self[permalink][rdoc]

追加リストと除外リストを評価します。

sub(pattern, replace) -> Rake::FileList[permalink][rdoc]

自身に含まれるファイルリストのそれぞれのエントリに対して String#sub を実行し、 結果を新しい Rake::FileList として返します。

例:

FileList['a.c', 'b.c'].sub(/\.c$/, '.o')  => ['a.o', 'b.o']
sub!(pattern, replace) -> self[permalink][rdoc]

自身に含まれるファイルリストのそれぞれのエントリに対して String#sub を実行します。 自身を破壊的に変更します。

to_a -> Array[permalink][rdoc]
to_ary -> Array

内部的な配列を返します。

to_s -> String[permalink][rdoc]

全ての要素をスペースで連結した文字列を返します。

定数

ARRAY_METHODS -> Array[permalink][rdoc]

Array に定義されているメソッドのリストです。

DEFAULT_IGNORE_PATTERNS -> Array[permalink][rdoc]

デフォルトで除外するパターンのリストです。

DEFAULT_IGNORE_PROCS[permalink][rdoc]

デフォルトで除外する手続きです。

DELEGATING_METHODS -> Array[permalink][rdoc]

委譲するメソッドのリストです。

MUST_DEFINE -> Array[permalink][rdoc]

必ず委譲しなければならない付加的なメソッドのリストです。

MUST_NOT_DEFINE -> Array[permalink][rdoc]

委譲してはいけないメソッドのリストです。

このリストに含まれているメソッドはこのクラスで定義しています。

SPECIAL_RETURN -> Array[permalink][rdoc]

Array のインスタンスを返すので委譲した後にラップする必要があるメソッドのリストです。