Sha256: 845396103d53087ec99f10dc37a411274afb7192c3856943d3a80d6bd5139a59

Contents?: true

Size: 517 Bytes

Versions: 1

Compression:

Stored size: 517 Bytes

Contents

class Gon
  module JsonDumper
    # Taken from ERB::Util
    JSON_ESCAPE_REGEXP	=	/[\u2028\u2029&><]/u
    JSON_ESCAPE	=	{
      "&" => '\u0026',
      ">" => '\u003e',
      "<" => '\u003c',
      "\u2028" => '\u2028',
      "\u2029" => '\u2029'
    }

    def self.dump(object)
      dumped_json = MultiJson.dump object,
        mode: :compat, escape_mode: :xss_safe, time_format: :ruby
      escape(dumped_json)
    end

    def self.escape(json)
      json.gsub(JSON_ESCAPE_REGEXP, JSON_ESCAPE)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gon-6.4.0 lib/gon/json_dumper.rb