Class: Page

Inherits:
Object
  • Object
show all
Defined in:
lib/sinatra/directory_listing/page.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

Class definition for the page to be generated.



6
7
8
# File 'lib/sinatra/directory_listing/page.rb', line 6

def back_to_link
  @back_to_link
end

#current_pageObject

Class definition for the page to be generated.



6
7
8
# File 'lib/sinatra/directory_listing/page.rb', line 6

def current_page
  @current_page
end

Class definition for the page to be generated.



6
7
8
# File 'lib/sinatra/directory_listing/page.rb', line 6

def file_sort_link
  @file_sort_link
end

#filename_truncate_lengthObject

Class definition for the page to be generated.



6
7
8
# File 'lib/sinatra/directory_listing/page.rb', line 6

def filename_truncate_length
  @filename_truncate_length
end

#files_htmlObject

Class definition for the page to be generated.



6
7
8
# File 'lib/sinatra/directory_listing/page.rb', line 6

def files_html
  @files_html
end

#last_modified_formatObject

Class definition for the page to be generated.



6
7
8
# File 'lib/sinatra/directory_listing/page.rb', line 6

def last_modified_format
  @last_modified_format
end

Class definition for the page to be generated.



6
7
8
# File 'lib/sinatra/directory_listing/page.rb', line 6

def mtime_sort_link
  @mtime_sort_link
end

#public_folderObject

Class definition for the page to be generated.



6
7
8
# File 'lib/sinatra/directory_listing/page.rb', line 6

def public_folder
  @public_folder
end

#readmeObject

Class definition for the page to be generated.



6
7
8
# File 'lib/sinatra/directory_listing/page.rb', line 6

def readme
  @readme
end

#request_paramsObject

Class definition for the page to be generated.



6
7
8
# File 'lib/sinatra/directory_listing/page.rb', line 6

def request_params
  @request_params
end

#request_pathObject

Class definition for the page to be generated.



6
7
8
# File 'lib/sinatra/directory_listing/page.rb', line 6

def request_path
  @request_path
end

#should_list_invisiblesObject

Class definition for the page to be generated.



6
7
8
# File 'lib/sinatra/directory_listing/page.rb', line 6

def should_list_invisibles
  @should_list_invisibles
end

Class definition for the page to be generated.



6
7
8
# File 'lib/sinatra/directory_listing/page.rb', line 6

def size_sort_link
  @size_sort_link
end

#sort_directionObject

Class definition for the page to be generated.



6
7
8
# File 'lib/sinatra/directory_listing/page.rb', line 6

def sort_direction
  @sort_direction
end

#sort_direction_displayObject

Class definition for the page to be generated.



6
7
8
# File 'lib/sinatra/directory_listing/page.rb', line 6

def sort_direction_display
  @sort_direction_display
end

#sort_itemObject

Class definition for the page to be generated.



6
7
8
# File 'lib/sinatra/directory_listing/page.rb', line 6

def sort_item
  @sort_item
end

#sort_item_displayObject

Class definition for the page to be generated.



6
7
8
# File 'lib/sinatra/directory_listing/page.rb', line 6

def sort_item_display
  @sort_item_display
end

#stylesheetObject

Class definition for the page to be generated.



6
7
8
# File 'lib/sinatra/directory_listing/page.rb', line 6

def stylesheet
  @stylesheet
end

Instance Method Details

#sorted_url(page) ⇒ Object

Return new parameters for another location with the same sorting parameters as the passed Page object



29
30
31
32
33
34
# File 'lib/sinatra/directory_listing/page.rb', line 29

def sorted_url(page)
  params = ""
  if page.request_params["sortby"] && page.request_params["direction"]
    params = "?sortby=" + page.request_params["sortby"] + "&direction=" + page.request_params["direction"]
  end
end

#sorting_info(s_item, s_direction) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/sinatra/directory_listing/page.rb', line 36

def sorting_info(s_item, s_direction)

  file_link_dir = mtime_link_dir = sortby_link_dir = "ascending"
  s_item_display = s_direction_display = ""
  
  case s_item
  when "file"
    s_item_display = "alphabetically"
    case s_direction
    when "ascending"
      s_direction_display = ""
      file_link_dir = "descending"
    when "descending"
      s_direction_display = "reversed"
      file_link_dir = "ascending"
    end
  when "mtime"
    s_item_display = "by modification date"
    case s_direction
    when "ascending"
      s_direction_display = "oldest to newest"
      mtime_link_dir = "descending"
    when "descending"
      s_direction_display = "newest to oldest"
      mtime_link_dir = "ascending"
    end
  when "size"
    s_item_display = "by size"
    case s_direction
    when "ascending"
      s_direction_display = "smallest to largest"
      sortby_link_dir = "descending"
    when "descending"
      s_direction_display = "largest to smallest"
      sortby_link_dir = "ascending"
    end
  end
  
  return  "?sortby=file&direction=#{file_link_dir}",
          "?sortby=mtime&direction=#{mtime_link_dir}",
          "?sortby=size&direction=#{sortby_link_dir}",
          s_item_display,
          s_direction_display
  
end