Module: Rad::Environment::FilesHelper

Defined in:
lib/rad/environment/_files_helper.rb

Class Method Summary collapse

Instance Method Summary collapse

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

#directoriesObject



2
3
4
# File 'lib/rad/environment/_files_helper.rb', line 2

def directories
  $LOAD_PATH
end

#file_exist?(path, directories = nil) ⇒ Boolean

Returns:

  • (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