Module: Rad::Environment::FilesHelper
- Defined in:
- lib/rad/environment/_files_helper.rb
Class Method Summary collapse
-
.find_files(fname, directories) ⇒ Object
don’t move this class method to module, because there will be then multiple cache for every object that includes it.
Instance Method Summary collapse
- #directories ⇒ Object
- #file_exist?(path, directories = nil) ⇒ Boolean
- #find_file(fname, directories = nil) ⇒ Object
- #find_file!(fname, directories = nil) ⇒ Object
- #find_file_by_pattern(pattern) ⇒ Object
- #find_files(fname, directories = nil) ⇒ Object
- #find_files_by_pattern_without_cache(pattern, directories = nil) ⇒ Object (also: #find_files_by_pattern)
- #find_files_without_cache(fname, directories = nil) ⇒ Object
Class Method Details
.find_files(fname, directories) ⇒ Object
don’t move this class method to module, because there will be then multiple cache for every object that includes it.
47 48 49 50 51 52 |
# File 'lib/rad/environment/_files_helper.rb', line 47 def find_files fname, directories fname.must =~ /\// directories.must_be.present # || raise('directories ')= self.directories files = directories.collect{|dir| "#{dir}#{fname}"} files.select{|f| File.exist? f} end |
Instance Method Details
#directories ⇒ Object
2 3 4 |
# File 'lib/rad/environment/_files_helper.rb', line 2 def directories $LOAD_PATH end |
#file_exist?(path, directories = nil) ⇒ Boolean
6 7 8 |
# File 'lib/rad/environment/_files_helper.rb', line 6 def file_exist? path, directories = nil find_files(path, directories).size > 0 end |
#find_file(fname, directories = nil) ⇒ Object
20 21 22 23 24 |
# File 'lib/rad/environment/_files_helper.rb', line 20 def find_file fname, directories = nil files = find_files(fname, directories) raise "Found multiple files for '#{fname}'" if files.size > 1 files.first end |
#find_file!(fname, directories = nil) ⇒ Object
26 27 28 |
# File 'lib/rad/environment/_files_helper.rb', line 26 def find_file! fname, directories = nil find_file(fname, directories) || raise("File '#{fname}' not found!") end |
#find_file_by_pattern(pattern) ⇒ Object
37 38 39 40 41 42 |
# File 'lib/rad/environment/_files_helper.rb', line 37 def find_file_by_pattern pattern files = find_files_by_pattern(pattern) raise "File '#{pattern}' not found!" if files.size == 0 raise "Found multiple files for '#{pattern}'" if files.size > 1 files.first end |
#find_files(fname, directories = nil) ⇒ Object
10 11 12 13 |
# File 'lib/rad/environment/_files_helper.rb', line 10 def find_files fname, directories = nil directories ||= self.directories Rad::Environment::FilesHelper.find_files fname, directories end |
#find_files_by_pattern_without_cache(pattern, directories = nil) ⇒ Object Also known as: find_files_by_pattern
30 31 32 33 34 |
# File 'lib/rad/environment/_files_helper.rb', line 30 def find_files_by_pattern_without_cache pattern, directories = nil directories ||= self.directories patterns = directories.to_a.collect{|d| "#{d}#{pattern}"} Dir.glob patterns end |
#find_files_without_cache(fname, directories = nil) ⇒ Object
15 16 17 18 |
# File 'lib/rad/environment/_files_helper.rb', line 15 def find_files_without_cache fname, directories = nil # directories ||= self.directories Rad::Environment::FilesHelper.find_files_without_cache fname, directories end |