Class: ProjectEulerCli::ArchiveController
- Inherits:
-
Object
- Object
- ProjectEulerCli::ArchiveController
show all
- Includes:
- Scraper
- Defined in:
- lib/project_euler_cli/archive_controller.rb
Overview
Controller class that manages the archive system. It holds the archive data used by ArchiveViewer and ArchiveSearcher.
Instance Method Summary
collapse
Methods included from Scraper
#load_page, #load_problem_details, #load_recent, #lookup_totals
Constructor Details
Returns a new instance of ArchiveController.
8
9
10
11
12
13
14
15
|
# File 'lib/project_euler_cli/archive_controller.rb', line 8
def initialize
lookup_totals
@problems = Array.new(Problem.total + 1) { Problem.new }
@av = ArchiveViewer.new(@problems)
@as = ArchiveSearcher.new(@problems)
end
|
Instance Method Details
#display_page(page) ⇒ Object
37
38
39
|
# File 'lib/project_euler_cli/archive_controller.rb', line 37
def display_page(page)
@av.display_page(page)
end
|
#display_problem(id) ⇒ Object
45
46
47
|
# File 'lib/project_euler_cli/archive_controller.rb', line 45
def display_problem(id)
@av.display_problem(id)
end
|
#display_recent ⇒ Object
33
34
35
|
# File 'lib/project_euler_cli/archive_controller.rb', line 33
def display_recent
@av.display_recent
end
|
#display_results ⇒ Object
41
42
43
|
# File 'lib/project_euler_cli/archive_controller.rb', line 41
def display_results
@av.display_custom_page(@as.results)
end
|
#get_page(id) ⇒ Object
call-seq:
get_page(id) => page
Returns page number based on the ID of the problem. The recent page is considered page 0.
54
55
56
|
# File 'lib/project_euler_cli/archive_controller.rb', line 54
def get_page(id)
id.between?(1, Problem.total - 10) ? (id - 1) / Page::LENGTH + 1 : 0
end
|
#results_include?(id) ⇒ Boolean
29
30
31
|
# File 'lib/project_euler_cli/archive_controller.rb', line 29
def results_include?(id)
@as.results.include?(id)
end
|
#search(terms) ⇒ Object
25
26
27
|
# File 'lib/project_euler_cli/archive_controller.rb', line 25
def search(terms)
@as.search(terms)
end
|
#searching ⇒ Object
21
22
23
|
# File 'lib/project_euler_cli/archive_controller.rb', line 21
def searching
@as.searching
end
|
#searching=(searching) ⇒ Object
17
18
19
|
# File 'lib/project_euler_cli/archive_controller.rb', line 17
def searching=(searching)
@as.searching = searching
end
|