Sha256: dc683f2f9a0be3595af6e93497734122af5e8b2ae3f1d22b92adf108c2f0e269

Contents?: true

Size: 636 Bytes

Versions: 56

Compression:

Stored size: 636 Bytes

Contents

module ActiveSupport
  module JSON
    module Encoding
      ESCAPED_CHARS = {
        "\010" =>  '\b',
        "\f" =>    '\f',
        "\n" =>    '\n',
        "\r" =>    '\r',
        "\t" =>    '\t',
        '"' =>     '\"',
        '\\' =>    '\\\\'
      }
    end
  end
end

class String
  def to_json #:nodoc:
    '"' + gsub(/[\010\f\n\r\t"\\]/) { |s|
      ActiveSupport::JSON::Encoding::ESCAPED_CHARS[s]
    }.gsub(/([\xC0-\xDF][\x80-\xBF]|
             [\xE0-\xEF][\x80-\xBF]{2}|
             [\xF0-\xF7][\x80-\xBF]{3})+/nx) { |s|
      s.unpack("U*").pack("n*").unpack("H*")[0].gsub(/.{4}/, '\\\\u\&')
    } + '"'
  end
end

Version data entries

56 entries across 56 versions & 1 rubygems

Version Path
backlog-0.0.0 vendor/rails/activesupport/lib/active_support/json/encoders/string.rb
backlog-0.0.1 vendor/rails/activesupport/lib/active_support/json/encoders/string.rb
backlog-0.0.2 vendor/rails/activesupport/lib/active_support/json/encoders/string.rb
backlog-0.0.5 vendor/rails/activesupport/lib/active_support/json/encoders/string.rb
backlog-0.0.4 vendor/rails/activesupport/lib/active_support/json/encoders/string.rb
backlog-0.1.0 vendor/rails/activesupport/lib/active_support/json/encoders/string.rb
backlog-0.1.1 vendor/rails/activesupport/lib/active_support/json/encoders/string.rb
backlog-0.1.2 vendor/rails/activesupport/lib/active_support/json/encoders/string.rb
backlog-0.2.0 vendor/rails/activesupport/lib/active_support/json/encoders/string.rb
backlog-0.2.1 vendor/rails/activesupport/lib/active_support/json/encoders/string.rb
backlog-0.3.0 vendor/rails/activesupport/lib/active_support/json/encoders/string.rb
backlog-0.3.1 vendor/rails/activesupport/lib/active_support/json/encoders/string.rb
backlog-0.3.3 vendor/rails/activesupport/lib/active_support/json/encoders/string.rb
backlog-0.3.2 vendor/rails/activesupport/lib/active_support/json/encoders/string.rb
backlog-0.3.4 vendor/rails/activesupport/lib/active_support/json/encoders/string.rb
backlog-0.3.5 vendor/rails/activesupport/lib/active_support/json/encoders/string.rb
backlog-0.3.6 vendor/rails/activesupport/lib/active_support/json/encoders/string.rb
backlog-0.3.8 vendor/rails/activesupport/lib/active_support/json/encoders/string.rb
backlog-0.3.7 vendor/rails/activesupport/lib/active_support/json/encoders/string.rb
backlog-0.3.9 vendor/rails/activesupport/lib/active_support/json/encoders/string.rb