module HS::ElementPreview
Public Instance Methods
element_preview(tag_name, params, children)
click to toggle source
# File lib/hs/preview/element_preview.rb, line 12 def element_preview(tag_name, params, children) [ element_start(tag_name, params, children), element_content(children), element_end(tag_name, children) ].join end
text_preview(text)
click to toggle source
# File lib/hs/preview/element_preview.rb, line 7 def text_preview(text) return unless text CGI.escapeHTML(text) end
wrap_into_tag(tag_name, params) { || ... }
click to toggle source
# File lib/hs/preview/element_preview.rb, line 20 def wrap_into_tag(tag_name, params) children = yield [ element_start(tag_name, params, children), children.join(''), element_end(tag_name, children) ].join end
Private Instance Methods
element_content(children)
click to toggle source
# File lib/hs/preview/element_preview.rb, line 43 def element_content(children) return if children.empty? children.map(&:preview).compact.join end
element_end(tag, children)
click to toggle source
# File lib/hs/preview/element_preview.rb, line 48 def element_end(tag, children) return if children.empty? "</#{tag}>" end
element_start(tag, params, children)
click to toggle source
# File lib/hs/preview/element_preview.rb, line 31 def element_start(tag, params, children) start = "<#{tag}" unless params.empty? params_str = params.map { |k, v| "#{k}=\"#{v}\"" }.join(' ') start = "#{start} #{params_str}" end return "#{start} />" if children.empty? "#{start}>" end