Class: ReportLogic::Session
- Inherits:
-
Object
- Object
- ReportLogic::Session
show all
- Includes:
- Decorable
- Defined in:
- lib/report_logic/session.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods included from Decorable
#decorate_with, #decorators
Constructor Details
#initialize(key = nil, report = nil) ⇒ Session
Returns a new instance of Session.
7
8
9
|
# File 'lib/report_logic/session.rb', line 7
def initialize(key = nil, report = nil)
@key, @report = key, report
end
|
Instance Attribute Details
#key ⇒ Object
Returns the value of attribute key.
5
6
7
|
# File 'lib/report_logic/session.rb', line 5
def key
@key
end
|
#report ⇒ Object
Returns the value of attribute report.
5
6
7
|
# File 'lib/report_logic/session.rb', line 5
def report
@report
end
|
Instance Method Details
#current_row ⇒ Object
15
16
17
|
# File 'lib/report_logic/session.rb', line 15
def current_row
@current_row ||= fields
end
|
#decorate(master_decorators = nil) ⇒ Object
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/report_logic/session.rb', line 40
def decorate(master_decorators = nil)
master_decorators ||= []
fields.each do |field_or_row|
if field_or_row.respond_to?(:each)
field_or_row.each { |f| f.decorate(master_decorators + decorators) }
else
field_or_row.decorate(master_decorators + decorators)
end
end
end
|
#field(name, value = nil, **options) ⇒ Object
19
20
21
|
# File 'lib/report_logic/session.rb', line 19
def field(name, value = nil, **options)
current_row << Field.new(name, value, **options)
end
|
#fields ⇒ Object
11
12
13
|
# File 'lib/report_logic/session.rb', line 11
def fields
@fields ||= []
end
|
#process(collection = nil) ⇒ Object
27
28
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/report_logic/session.rb', line 27
def process(collection = nil)
if collection.respond_to?(:each)
collection.each do |record|
@current_row = []
yield record
fields.push current_row
@current_row = nil
end
else
yield
end
end
|
#value(val, **options) ⇒ Object
23
24
25
|
# File 'lib/report_logic/session.rb', line 23
def value(val, **options)
field(nil, val, **options)
end
|