Class: Rack::Directory::DirectoryBody
- Inherits:
 - 
      Struct
      
        
- Object
 - Struct
 - Rack::Directory::DirectoryBody
 
 
- Defined in:
 - lib/rack/directory.rb
 
Overview
Body class for directory entries, showing an index page with links to each file.
Instance Attribute Summary collapse
- 
  
    
      #files  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    
Returns the value of attribute files.
 - 
  
    
      #path  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    
Returns the value of attribute path.
 - 
  
    
      #root  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    
Returns the value of attribute root.
 
Instance Method Summary collapse
- 
  
    
      #each {|DIR_PAGE_HEADER % [ show_path, show_path ]| ... } ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Yield strings for each part of the directory entry.
 
Instance Attribute Details
#files ⇒ Object
Returns the value of attribute files
      45 46 47  | 
    
      # File 'lib/rack/directory.rb', line 45 def files @files end  | 
  
#path ⇒ Object
Returns the value of attribute path
      45 46 47  | 
    
      # File 'lib/rack/directory.rb', line 45 def path @path end  | 
  
#root ⇒ Object
Returns the value of attribute root
      45 46 47  | 
    
      # File 'lib/rack/directory.rb', line 45 def root @root end  | 
  
Instance Method Details
#each {|DIR_PAGE_HEADER % [ show_path, show_path ]| ... } ⇒ Object
Yield strings for each part of the directory entry
      47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62  | 
    
      # File 'lib/rack/directory.rb', line 47 def each show_path = Utils.escape_html(path.sub(/^#{root}/, '')) yield(DIR_PAGE_HEADER % [ show_path, show_path ]) unless path.chomp('/') == root yield(DIR_FILE % DIR_FILE_escape(files.call('..'))) end Dir.foreach(path) do |basename| next if basename.start_with?('.') next unless f = files.call(basename) yield(DIR_FILE % DIR_FILE_escape(f)) end yield(DIR_PAGE_FOOTER) end  |