Module: Rad::FilesHelper

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.find_files(fname, directories = nil) ⇒ Object

don’t move this class method to module, because there will be then multiple cache for every object that includes it.



45
46
47
48
49
50
# File 'lib/rad/environment/files_helper.rb', line 45

def find_files fname, directories = nil
  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



3
4
5
# File 'lib/rad/environment/files_helper.rb', line 3

def directories
  $LOAD_PATH
end

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

Returns:

  • (Boolean)


7
8
9
# File 'lib/rad/environment/files_helper.rb', line 7

def file_exist? path, directories = nil
  find_files(path).size > 0
end

#find_file(fname, directories = nil) ⇒ Object



21
22
23
24
25
26
# File 'lib/rad/environment/files_helper.rb', line 21

def find_file fname, directories = nil
  files = find_files(fname, directories)
  raise "File '#{fname}' not found!" if files.size == 0
  raise "Found multiple files for '#{fname}'" if files.size > 1
  files.first
end

#find_file_by_pattern(pattern) ⇒ Object



35
36
37
38
39
40
# File 'lib/rad/environment/files_helper.rb', line 35

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



11
12
13
14
# File 'lib/rad/environment/files_helper.rb', line 11

def find_files fname, directories = nil
  directories ||= self.directories
  FilesHelper.find_files fname, directories
end

#find_files_by_pattern_without_cache(pattern, directories = nil) ⇒ Object Also known as: find_files_by_pattern



28
29
30
31
32
# File 'lib/rad/environment/files_helper.rb', line 28

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



16
17
18
19
# File 'lib/rad/environment/files_helper.rb', line 16

def find_files_without_cache fname, directories = nil
  # directories ||= self.directories
  FilesHelper.find_files_without_cache fname, directories
end