Sha256: 9688372c931ea856b4f3bb5f8ccae953b5b618f34d6f26d459315d63200cc94c

Contents?: true

Size: 1.18 KB

Versions: 9

Compression:

Stored size: 1.18 KB

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

    # Outputs the javascript include tag with translations in the selected language (locale param) in the js format
    def i18n_translations_javascript_include_tag(locale)
      javascript_include_tag("/globalize/translations/js/#{locale}.js")
    end

  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
exvo_globalize-0.6.0 lib/exvo_globalize/helpers.rb
exvo_globalize-0.5.6 lib/exvo_globalize/helpers.rb
exvo_globalize-0.5.5 lib/exvo_globalize/helpers.rb
exvo_globalize-0.5.4 lib/exvo_globalize/helpers.rb
exvo_globalize-0.5.3 lib/exvo_globalize/helpers.rb
exvo_globalize-0.5.2 lib/exvo_globalize/helpers.rb
exvo_globalize-0.5.1 lib/exvo_globalize/helpers.rb
exvo_globalize-0.5.0 lib/exvo_globalize/helpers.rb
exvo_globalize-0.4.0 lib/exvo_globalize/helpers.rb