like encode, but only calls #as_json, without encoding to string
# File lib/active_support/json/encoding.rb, line 52 def as_json(value) check_for_circular_references(value) do value.as_json(options_for(value)) end end
# File lib/active_support/json/encoding.rb, line 44 def encode(value, use_options = true) check_for_circular_references(value) do jsonified = use_options ? value.as_json(options_for(value)) : value.as_json jsonified.encode_json(self) end end
# File lib/active_support/json/encoding.rb, line 67 def escape(string) Encoding.escape(string) end
# File lib/active_support/json/encoding.rb, line 58 def options_for(value) if value.is_a?(Array) || value.is_a?(Hash) # hashes and arrays need to get encoder in the options, so that they can detect circular references (options || {}).merge(:encoder => self) else options end end
# File lib/active_support/json/encoding.rb, line 39 def initialize(options = nil) @options = options @seen = [] end