Class: DiningTable::Presenters::HTMLPresenter
- Inherits:
-
Presenter
- Object
- Presenter
- DiningTable::Presenters::HTMLPresenter
show all
- Defined in:
- lib/dining-table/presenters/html_presenter.rb
Instance Attribute Summary collapse
Attributes inherited from Presenter
#options, #table, #view_context
Instance Method Summary
collapse
Methods inherited from Presenter
#connect_to, #type?
Constructor Details
Returns a new instance of HTMLPresenter.
7
8
9
10
|
# File 'lib/dining-table/presenters/html_presenter.rb', line 7
def initialize( *args )
super
self.output = ''
end
|
Instance Attribute Details
#output ⇒ Object
72
73
74
|
# File 'lib/dining-table/presenters/html_presenter.rb', line 72
def output
@output.respond_to?(:html_safe) ? @output.html_safe : @output
end
|
Instance Method Details
#end_body ⇒ Object
34
35
36
|
# File 'lib/dining-table/presenters/html_presenter.rb', line 34
def end_body
add_tag(:end, :tbody)
end
|
#end_table ⇒ Object
23
24
25
26
27
28
|
# File 'lib/dining-table/presenters/html_presenter.rb', line 23
def end_table
add_tag(:end, :table)
if options[:wrap]
add_tag(:end, wrap_tag )
end
end
|
#identifier ⇒ Object
12
13
14
|
# File 'lib/dining-table/presenters/html_presenter.rb', line 12
def identifier
:html
end
|
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/dining-table/presenters/html_presenter.rb', line 58
def
= columns.each.map(&:footer)
if .map { |s| blank?(s) }.uniq != [ true ]
add_tag(:start, :tfoot)
add_tag(:start, :tr)
columns.each_with_index do |column, index|
value = [index]
( value, column.options_for( identifier ) )
end
add_tag(:end, :tr)
add_tag(:end, :tfoot)
end
end
|
47
48
49
50
51
52
53
54
55
56
|
# File 'lib/dining-table/presenters/html_presenter.rb', line 47
def
add_tag(:start, :thead)
add_tag(:start, :tr)
columns.each do |column|
value = column.
( value, column.options_for( identifier ) )
end
add_tag(:end, :tr)
add_tag(:end, :thead)
end
|
#render_row(object) ⇒ Object
38
39
40
41
42
43
44
45
|
# File 'lib/dining-table/presenters/html_presenter.rb', line 38
def render_row( object )
add_tag(:start, :tr)
columns.each do |column|
value = column.value( object )
render_cell( value, column.options_for( identifier ) )
end
add_tag(:end, :tr)
end
|
#start_body ⇒ Object
30
31
32
|
# File 'lib/dining-table/presenters/html_presenter.rb', line 30
def start_body
add_tag(:start, :tbody)
end
|
#start_table ⇒ Object
16
17
18
19
20
21
|
# File 'lib/dining-table/presenters/html_presenter.rb', line 16
def start_table
if options[:wrap]
add_tag(:start, wrap_tag, wrap_options )
end
add_tag(:start, :table, options )
end
|