Module: Rack::Reloader::Stat
- Defined in:
 - rack/rack/reloader.rb
 
Instance Method Summary (collapse)
- 
  
    
      - (void) figure_path(file, paths) 
    
    
  
  
  
  
  
  
  
  
  
    
Takes a relative or absolute
filename, a couple possiblepathsthat thefilemight reside in. - - (void) rotation
 - - (void) safe_stat(file)
 
Instance Method Details
- (void) figure_path(file, paths)
Takes a relative or absolute file name, a couple possible
paths that the file might reside in. Returns the
full path and File::Stat for the path.
      85 86 87 88 89 90 91 92 93 94 95 96 97 98  | 
    
      # File 'rack/rack/reloader.rb', line 85 def figure_path(file, paths) found = @cache[file] found = file if !found and Pathname.new(file).absolute? found, stat = safe_stat(found) return found, stat if found paths.find do |possible_path| path = ::File.join(possible_path, file) found, stat = safe_stat(path) return ::File.(found), stat if found end return false, false end  | 
  
- (void) rotation
      66 67 68 69 70 71 72 73 74 75 76 77 78 79 80  | 
    
      # File 'rack/rack/reloader.rb', line 66 def rotation files = [$0, *$LOADED_FEATURES].uniq paths = ['./', *$LOAD_PATH].uniq files.map{|file| next if file =~ /\.(so|bundle)$/ # cannot reload compiled files found, stat = figure_path(file, paths) next unless found && stat && mtime = stat.mtime @cache[file] = found yield(found, mtime) }.compact end  | 
  
- (void) safe_stat(file)
      100 101 102 103 104 105 106  | 
    
      # File 'rack/rack/reloader.rb', line 100 def safe_stat(file) return unless file stat = ::File.stat(file) return file, stat if stat.file? rescue Errno::ENOENT, Errno::ENOTDIR, Errno::ESRCH @cache.delete(file) and false end  |