module Archfiend::Generators::Utils
Public Class Methods
find_directory(*names)
click to toggle source
# File lib/archfiend/generators/utils.rb, line 13 def find_directory(*names) search_up(*names) do |dirname| return dirname if File.directory?(dirname) end end
find_file(*names)
click to toggle source
Methods borrowed from Bundler source: bundler/lib/bundler/shared_helpers.rb
# File lib/archfiend/generators/utils.rb, line 7 def find_file(*names) search_up(*names) do |filename| return filename if File.file?(filename) end end
Private Class Methods
search_up(*names) { |filename| ... }
click to toggle source
# File lib/archfiend/generators/utils.rb, line 21 def search_up(*names) previous = nil current = File.expand_path(Pathname.pwd).untaint until !File.directory?(current) || current == previous names.each do |name| filename = File.join(current, name) yield filename end previous = current current = File.expand_path('..', current) end end