/* * call-seq: to_json(*) * * Converts this object to a string (calling #to_s), converts * it to a JSON string, and returns the result. This is a fallback, if no * special method #to_json was defined for some object. */ static VALUE mObject_to_json(int argc, VALUE *argv, VALUE self) { VALUE state, depth; VALUE string = rb_funcall(self, i_to_s, 0); rb_scan_args(argc, argv, "02", &state, &depth); Check_Type(string, T_STRING); state = cState_from_state_s(cState, state); return cState_partial_generate(state, string, depth); }