Class: AbstractReport
- Inherits:
-
Object
show all
- Includes:
- ReportManager::Mixin
- Defined in:
- backend/app/model/reports/abstract_report.rb
Instance Attribute Summary (collapse)
Instance Method Summary
(collapse)
included
Constructor Details
Returns a new instance of AbstractReport
10
11
12
13
14
15
16
|
# File 'backend/app/model/reports/abstract_report.rb', line 10
def initialize(params)
params = params.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
@repo_id = params[:repo_id] if params.has_key?(:repo_id) && params[:repo_id] != ""
@format = params[:format] if params.has_key?(:format) && params[:format] != ""
@params = params
end
|
Instance Attribute Details
Returns the value of attribute format
7
8
9
|
# File 'backend/app/model/reports/abstract_report.rb', line 7
def format
@format
end
|
- (Object) params
Returns the value of attribute params
8
9
10
|
# File 'backend/app/model/reports/abstract_report.rb', line 8
def params
@params
end
|
- (Object) repo_id
Returns the value of attribute repo_id
6
7
8
|
# File 'backend/app/model/reports/abstract_report.rb', line 6
def repo_id
@repo_id
end
|
Instance Method Details
- (Object) each
50
51
52
53
54
55
56
57
58
59
60
61
|
# File 'backend/app/model/reports/abstract_report.rb', line 50
def each
DB.open do |db|
dataset = query(db)
dataset = scope_by_repo_id(dataset) if @repo_id
dataset.each do |row|
yield(Hash[.map { |h|
val = (processor.has_key?(h))?processor[h].call(row):row[h.intern]
[h, val]
}])
end
end
end
|
- (Object) get_binding
18
19
20
|
# File 'backend/app/model/reports/abstract_report.rb', line 18
def get_binding
binding
end
|
- (Object) layout
34
35
36
|
# File 'backend/app/model/reports/abstract_report.rb', line 34
def layout
AppConfig[:report_page_layout]
end
|
- (Object) processor
38
39
40
|
# File 'backend/app/model/reports/abstract_report.rb', line 38
def processor
{}
end
|
- (Object) query(db)
42
43
44
|
# File 'backend/app/model/reports/abstract_report.rb', line 42
def query(db)
raise "Please specific a query to return your reportable results"
end
|
- (Object) report
26
27
28
|
# File 'backend/app/model/reports/abstract_report.rb', line 26
def report
self
end
|
- (Object) scope_by_repo_id(dataset)
46
47
48
|
# File 'backend/app/model/reports/abstract_report.rb', line 46
def scope_by_repo_id(dataset)
dataset.where(:repo_id => @repo_id)
end
|
- (Object) template
30
31
32
|
# File 'backend/app/model/reports/abstract_report.rb', line 30
def template
:'reports/_listing'
end
|
- (Object) title
22
23
24
|
# File 'backend/app/model/reports/abstract_report.rb', line 22
def title
self.class.name
end
|