Class: Vedeu::Renderers::HTML
- Defined in:
- lib/vedeu/output/renderers/html.rb
Overview
Renders a Terminal::Buffer as a HTML snippet; a table by default.
Instance Method Summary collapse
- #default_template ⇒ String private
-
#defaults ⇒ Hash<Symbol => void>
private
The default values for a new instance of this class.
- #end_row_tag ⇒ String private
- #end_tag ⇒ String private
-
#escape? ⇒ Boolean
private
Returns a boolean indicating whether the output is a Models::Escape.
- #html_body ⇒ String
-
#initialize(options = {}) ⇒ Vedeu::Renderers::HTML
constructor
Returns a new instance of Vedeu::Renderers::HTML.
- #output ⇒ Array<Array<Vedeu::Views::Char>> private
- #render(output) ⇒ String
- #start_row_tag ⇒ String private
- #start_tag ⇒ String private
- #template ⇒ String private
Methods included from Vedeu::RendererOptions
Constructor Details
#initialize(options = {}) ⇒ Vedeu::Renderers::HTML
Returns a new instance of Vedeu::Renderers::HTML.
26 27 28 29 |
# File 'lib/vedeu/output/renderers/html.rb', line 26 def initialize( = {}) = || {} @output = nil end |
Instance Method Details
#default_template ⇒ String (private)
113 114 115 |
# File 'lib/vedeu/output/renderers/html.rb', line 113 def default_template ::File.dirname(__FILE__) + '/../templates/html_renderer.vedeu' end |
#defaults ⇒ Hash<Symbol => void> (private)
The default values for a new instance of this class.
98 99 100 101 102 103 104 105 106 107 108 109 110 |
# File 'lib/vedeu/output/renderers/html.rb', line 98 def defaults { content: '', end_tag: '</td>', end_row_tag: '</tr>', filename: 'out', start_tag: '<td', start_row_tag: '<tr>', template: default_template, timestamp: false, write_file: true, } end |
#end_row_tag ⇒ String (private)
76 77 78 |
# File 'lib/vedeu/output/renderers/html.rb', line 76 def end_row_tag [:end_row_tag] end |
#end_tag ⇒ String (private)
71 72 73 |
# File 'lib/vedeu/output/renderers/html.rb', line 71 def end_tag [:end_tag] end |
#escape? ⇒ Boolean (private)
Returns a boolean indicating whether the output is a Models::Escape. If it is, it won’t be rendered in HTML.
61 62 63 |
# File 'lib/vedeu/output/renderers/html.rb', line 61 def escape? output.is_a?(Vedeu::Models::Escape) end |
#html_body ⇒ String
40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/vedeu/output/renderers/html.rb', line 40 def html_body return '' if output.is_a?(Vedeu::Models::Escape) out = '' output.each do |line| out << "#{start_row_tag}\n" line.each { |char| out << char.to_html() } out << "#{end_row_tag}\n" end out end |
#output ⇒ Array<Array<Vedeu::Views::Char>> (private)
66 67 68 |
# File 'lib/vedeu/output/renderers/html.rb', line 66 def output @output || [:output] end |
#render(output) ⇒ String
33 34 35 36 37 |
# File 'lib/vedeu/output/renderers/html.rb', line 33 def render(output) @output = output super(Vedeu::Templating::Template.parse(self, template)) unless escape? end |
#start_row_tag ⇒ String (private)
86 87 88 |
# File 'lib/vedeu/output/renderers/html.rb', line 86 def start_row_tag [:start_row_tag] end |
#start_tag ⇒ String (private)
81 82 83 |
# File 'lib/vedeu/output/renderers/html.rb', line 81 def start_tag [:start_tag] end |
#template ⇒ String (private)
91 92 93 |
# File 'lib/vedeu/output/renderers/html.rb', line 91 def template [:template] end |