Sha256: faf7352692e28e4b6199a30cf691c79354f9916d837d72c03fff73eeb390b68a
Contents?: true
Size: 951 Bytes
Versions: 1
Compression:
Stored size: 951 Bytes
Contents
module ExvoGlobalize module Helpers # Prints nested Hash as a nested <ul> and <li> tags # - keys are wrapped in <strong> tags # - values are wrapped in <span> tags def HashToHTML(hash, opts = {}) return if !hash.is_a?(Hash) indent_level = opts.fetch(:indent_level) { 0 } out = " " * indent_level + "<ul>\n" hash.each do |key, value| out += " " * (indent_level + 2) + "<li><strong>#{key}:</strong>" if value.is_a?(Hash) out += "\n" + HashToHTML(value, :indent_level => indent_level + 2) + " " * (indent_level + 2) + "</li>\n" elsif value.is_a?(Array) out += " <span>[ #{value.join(', ')} ]</span></li>\n" elsif value.is_a?(Proc) out += " <span>" + CGI::escapeHTML(value.to_s) + "</span></li>\n" else out += " <span>#{value}</span></li>\n" end end out += " " * indent_level + "</ul>\n" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
exvo_globalize-0.3.2 | lib/exvo_globalize/helpers.rb |