class Rake::Funnel::Support::Finder
Public Class Methods
new(search_pattern, task, message = nil)
click to toggle source
# File lib/rake/funnel/support/internal/finder.rb, line 9 def initialize(search_pattern, task, message = nil) @search_pattern = search_pattern @task = task @message = message end
Public Instance Methods
all()
click to toggle source
# File lib/rake/funnel/support/internal/finder.rb, line 36 def all if candidates.empty? raise Rake::Funnel::AmbiguousFileError.new(@message, @task.name, @search_pattern, candidates) end candidates end
all_or_default()
click to toggle source
# File lib/rake/funnel/support/internal/finder.rb, line 32 def all_or_default candidates end
each() { |x| ... }
click to toggle source
# File lib/rake/funnel/support/internal/finder.rb, line 15 def each block_given? || (return enum_for(__method__)) all_or_default.each { |x| yield x } end
single()
click to toggle source
# File lib/rake/funnel/support/internal/finder.rb, line 24 def single if first_sln.nil? raise Rake::Funnel::AmbiguousFileError.new(@message, @task.name, @search_pattern, candidates) end first_sln end
single_or_default()
click to toggle source
# File lib/rake/funnel/support/internal/finder.rb, line 20 def single_or_default first_sln end
Private Instance Methods
candidates()
click to toggle source
# File lib/rake/funnel/support/internal/finder.rb, line 52 def candidates Dir[*@search_pattern.dup].select { |f| File.file?(f) }.uniq end
first_sln()
click to toggle source
# File lib/rake/funnel/support/internal/finder.rb, line 46 def first_sln return candidates.first if candidates.one? nil end