Module: SearchablePaths::InstanceMethods
- Defined in:
- lib/mixins/searchable_paths.rb
Instance Method Summary collapse
-
#search_in_known_locations(filepath, additional_search_paths = []) ⇒ Object
(also: #find_file)
Searches for
filepathin thesearchable_pathsifffilepathdoesn’t exist.
Instance Method Details
#search_in_known_locations(filepath, additional_search_paths = []) ⇒ Object Also known as: find_file
Searches for filepath in the searchable_paths iff filepath doesn’t exist. e.g. filepath is interpreted first as an absolute path, if filepath doesn’t exist verbatim then it looks for the file in the searchable_paths.
Returns nil if the file cannot be found.
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/mixins/searchable_paths.rb', line 68 def search_in_known_locations(filepath, additional_search_paths=[]) return filepath if File.exists?(filepath) # return the file if its an absolute path additional_search_paths.each do |path| full_path = File.(path / filepath) return full_path if File.exists?(full_path) end self.class.searchable_paths.each do |path| self.class.searchable_paths_dirs.each do |dir| next if path.nil? full_path = File.(path / dir / filepath) return full_path if File.exists?(full_path) end end nil end |