Module: Tau::ServerHelpers::FileListing
- Defined in:
- lib/tau/server/file_listing.rb
Instance Method Summary collapse
- #filename_for(filename) ⇒ Object
- #list_of_files_on(dirname) ⇒ Object
- #show_list_of_files_on(dirname, error = "") ⇒ Object
- #up_dir(dirname) ⇒ Object
- #upper_dir?(dirname) ⇒ Boolean
- #url_for(filename) ⇒ Object
Instance Method Details
#filename_for(filename) ⇒ Object
49 50 51 |
# File 'lib/tau/server/file_listing.rb', line 49 def filename_for(filename) Enginer.dst_for filename end |
#list_of_files_on(dirname) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/tau/server/file_listing.rb', line 14 def list_of_files_on(dirname) file_list = [] file_list << up_dir(dirname) unless upper_dir?(dirname) Dir.chdir(dirname) do Dir['*'].each do |filename| file_list << { filename: filename_for(filename), type: File.directory?(filename) ? :dir : :file, url: url_for(filename) } end end file_list.sort! do |one, another| if one[:type] == :up or (one[:type] == :dir and another[:type] != :dir) -1 elsif another[:type] == :up or (one[:type] != :dir and another[:type] == :dir) 1 else one[:filename] <=> another[:filename] end end end |
#show_list_of_files_on(dirname, error = "") ⇒ Object
6 7 8 9 10 11 12 |
# File 'lib/tau/server/file_listing.rb', line 6 def show_list_of_files_on(dirname, error="") @title = "Tau: #{url_for dirname}" @error = error @file_list = list_of_files_on dirname view = File.read File.join(File.dirname(__FILE__),'views/file_listing.haml') halt Haml::Engine.new(view).render(self) end |
#up_dir(dirname) ⇒ Object
41 42 43 44 45 46 47 |
# File 'lib/tau/server/file_listing.rb', line 41 def up_dir(dirname) { filename: '..', type: :up, url: url_for(dirname.sub(%r(/[[:word:]\.-]+/?\z), '/')) } end |
#upper_dir?(dirname) ⇒ Boolean
37 38 39 |
# File 'lib/tau/server/file_listing.rb', line 37 def upper_dir?(dirname) dirname.end_with?("/code") end |