# File lib/active_support/json/encoding.rb, line 7 def self.encode(value, options = {}) seen = (options[:seen] ||= []) raise CircularReferenceError, 'object references itself' if seen.include?(value) seen << value value.send(:to_json, options) ensure seen.pop end