class ActiveSupport::JSON::Encoding::JSONGemEncoder

def jsonify(value)

Experimental RBS support (using type sampling data from the type_fusion project).

type ActiveSupport__JSON__Encoding__JSONGemEncoder_jsonify_value = String | Array[String] | Hash | Integer | false | Array[Array, String, String] | Array[Array, String, String, String] | Array[] | Array[Array, String, String, Array, String, Array, Array, String, Array, String, Array, Array, String, Array, String, Array, Array, String, String, Array, String, String, Array, String, String, Array, String, String, Array, String, String, Array, String, String, Array, String, String, Array, String, Array, String, Array, Array, String, Array, String, String, String, Array, String, String, Array, String, String, Array, String, String, Array, String, Array, String, Array, Array, String, String, Array, String, String, Array, String, String] | Array[Array, String, String, Array, String, Array, ] | nil | Array[Hash, calls, Integer, total_runtime, Integer, children_runtime, Integer, kind, String, started_at, Integer, file, String, line, Integer, appendable_command, FalseClass, command, String] | Array[Array, String, Array, ] | Array[Integer] | Array[Array, String, Array, Array, String, Array, Array, String, Array, , Array, String, Array, Array, String, Array, , String, Array, String, Array, ] | Array[Array, String, String, Array, String, Array, String] | Array[Array, String, Array, Array, String, Array, , String, String] | Array[Array, String, Array, Array, String, Array, Array, String, Array, , Array, String, Array, Array, String, Array, Array, String, Array, , Array, String, Array, , String, String, String]
type ActiveSupport__JSON__Encoding__JSONGemEncoder_jsonify_return_value = ActiveSupport::JSON::Encoding::JSONGemEncoder::EscapedString | Integer | false | nil | Hash | Array[Array, ActiveSupport::JSON::Encoding::JSONGemEncoder::EscapedString, Array, ] | Array[ActiveSupport::JSON::Encoding::JSONGemEncoder::EscapedString] | Array[Array, ActiveSupport::JSON::Encoding::JSONGemEncoder::EscapedString, Array, Array, ActiveSupport::JSON::Encoding::JSONGemEncoder::EscapedString, Array, , ActiveSupport::JSON::Encoding::JSONGemEncoder::EscapedString, ActiveSupport::JSON::Encoding::JSONGemEncoder::EscapedString] | Array[] | Array[Hash, calls, Integer, total_runtime, Integer, children_runtime, Integer, kind, ActiveSupport::JSON::Encoding::JSONGemEncoder::EscapedString, started_at, Integer, file, ActiveSupport::JSON::Encoding::JSONGemEncoder::EscapedString, line, Integer, appendable_command, FalseClass, command, ActiveSupport::JSON::Encoding::JSONGemEncoder::EscapedString]

def jsonify: (ActiveSupport__JSON__Encoding__JSONGemEncoder_jsonify_value value) -> ActiveSupport__JSON__Encoding__JSONGemEncoder_jsonify_return_value

This signature was generated using 2067 samples from 3 applications.

calls.
to +object.as_json+, not any of this method's recursive +#as_json+
Note: the +options+ hash passed to +object.to_json+ is only passed

or having to remember to call #as_json recursively.
worry about what base types of objects they are allowed to return
This allows developers to implement #as_json without having to

fully JSON-ready object.
Recursively calls #as_json to the object to recursively build a
and +true+/+false+/+nil+.
primitives like Hash, Array, String, Numeric,
Convert an object into a "JSON-ready" representation composed of
def jsonify(value)
  case value
  when String
    EscapedString.new(value)
  when Numeric, NilClass, TrueClass, FalseClass
    value.as_json
  when Hash
    result = {}
    value.each do |k, v|
      result[jsonify(k)] = jsonify(v)
    end
    result
  when Array
    value.map { |v| jsonify(v) }
  else
    jsonify value.as_json
  end
end