class

ActiveSupport::JSON::Encoding::JSONGemCoderEncoder

rails latest stable - Superclass: Object

Class not available on this version

This class is only available on newer versions. The first available version (v8.1.1) is shown here.

No documentation available for this class.

Constants

CODER = ::JSON::Coder.new do |value, is_key|\njson_value = value.as_json\n# Keep compatibility by calling to_s on non-String keys\nnext json_value.to_s if is_key\n# Handle objects returning self from as_json\nif json_value.equal?(value)\nnext ::JSON::Fragment.new(::JSON.generate(json_value))\nend\n# Handle objects not returning JSON-native types from as_json\ncount = 5\nuntil JSON_NATIVE_TYPES.include?(json_value.class)\nraise SystemStackError if count == 0\njson_value = json_value.as_json\ncount -= 1\nend

JSON_NATIVE_TYPES = [Hash, Array, Float, String, Symbol, Integer, NilClass, TrueClass, FalseClass, ::JSON::Fragment].freeze

Files

  • activesupport/lib/active_support/json/encoding.rb