1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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
|
# web/lib/reports.rb
class Report
@@reports = Array.new
attr_reader :title, :sources
def self.each
@@reports.sort_by{ |report| report.title }.each do |report|
yield report
end
end
def self.each_visible
@@reports.select{ |report| report.visible? }.sort_by{ |report| report.title }.each do |report|
yield report
end
end
def self.each_visible_with_index
@@reports.select{ |report| report.visible? }.sort_by{ |report| report.title }.each_with_index do |report, idx|
yield report, idx
end
end
def initialize(title, *sources)
@@reports << self
@title = title
@sources = Hash.new
@visible = sources.size > 0
sources.each do |id|
@sources[id] = 1
end
end
def uses_source?(id)
sources.has_key? id
end
def name
@title.gsub(/[\s-]/, '_').downcase
end
def url
'/reports/' + name
end
def visible?
@visible
end
end
Report.new 'Database statistics', :db
Report.new 'Characters in keys', :db
Report.new 'Frequently used keys without wiki page', :db, :wiki
Report.new 'Key lengths', :db
Report.new 'Language comparison table for keys in the wiki', :wiki
Report.new 'Languages', :wiki
Report.new 'Wiki pages about non-existing keys', :db, :wiki
Report.new 'Name tags' #disabled
Report.new 'Similar keys', :db
Report.new 'Historic development', :db
Report.new 'Wiki images', :wiki
|