/* * call-seq: generate(obj) * * Generates a valid JSON document from object +obj+ and returns the * result. If no valid JSON document can be created this method raises a * GeneratorError exception. */ static VALUE cState_generate(VALUE self, VALUE obj) { VALUE result = cState_partial_generate(self, obj); GET_STATE(self); if (!state->quirks_mode && !isArrayOrObject(result)) { rb_raise(eGeneratorError, "only generation of JSON objects or arrays allowed"); } return result; }