like encode, but only calls as_json, without encoding to string
# File lib/active_support/json/encoding.rb, line 52
52: def as_json(value)
53: check_for_circular_references(value) do
54: value.as_json(options_for(value))
55: end
56: end
# File lib/active_support/json/encoding.rb, line 44
44: def encode(value, use_options = true)
45: check_for_circular_references(value) do
46: jsonified = use_options ? value.as_json(options_for(value)) : value.as_json
47: jsonified.encode_json(self)
48: end
49: end
# File lib/active_support/json/encoding.rb, line 67
67: def escape(string)
68: Encoding.escape(string)
69: end
# File lib/active_support/json/encoding.rb, line 58
58: def options_for(value)
59: if value.is_a?(Array) || value.is_a?(Hash)
60: # hashes and arrays need to get encoder in the options, so that they can detect circular references
61: (options || {}).merge(:encoder => self)
62: else
63: options
64: end
65: end
# File lib/active_support/json/encoding.rb, line 72
72: def check_for_circular_references(value)
73: if @seen.any? { |object| object.equal?(value) }
74: raise CircularReferenceError, 'object references itself'
75: end
76: @seen.unshift value
77: yield
78: ensure
79: @seen.shift
80: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.