Sha256: 7b8b837eb82d10178744a9098a7d6cd4696a9f9a7e32783c9d7b63e69efe6cb6

Contents?: true

Size: 496 Bytes

Versions: 2

Compression:

Stored size: 496 Bytes

Contents

module Mixpal
  module Util
    class << self
      def hash_to_js_object_string(hash)
        hash.reject! { |_, v| v.nil? }

        contents = hash.map do |k, v|
          "\"#{k}\": #{escape_js_object_value(v)}"
        end.join(',').html_safe

        "{#{contents}}"
      end

      def escape_js_object_value(value)
        case value
        when String
          value.dump
        when Time
          "\"#{value}\""
        else
          value
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mixpal-0.5.0 lib/mixpal/util.rb
mixpal-0.4.2 lib/mixpal/util.rb