diff options
Diffstat (limited to 'doc/classes/JSON/Ext/Generator/State.src/M000139.html')
-rw-r--r-- | doc/classes/JSON/Ext/Generator/State.src/M000139.html | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/doc/classes/JSON/Ext/Generator/State.src/M000139.html b/doc/classes/JSON/Ext/Generator/State.src/M000139.html new file mode 100644 index 0000000..5870d17 --- /dev/null +++ b/doc/classes/JSON/Ext/Generator/State.src/M000139.html @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html> +<head> + <title>partial_generate (JSON::Ext::Generator::State)</title> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> + <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" /> +</head> +<body class="standalone-code"> + <pre>/* + * call-seq: partial_generate(obj) + * + * Generates a part of a JSON document from object +obj+ and returns the + * result. + */ +static VALUE cState_partial_generate(VALUE self, VALUE obj, VALUE depth) +{ + VALUE result; + FBuffer *buffer = fbuffer_alloc(); + GET_STATE(self); + + if (state->object_delim) { + fbuffer_clear(state->object_delim); + } else { + state->object_delim = fbuffer_alloc_with_length(16); + } + fbuffer_append_char(state->object_delim, ','); + if (state->object_delim2) { + fbuffer_clear(state->object_delim2); + } else { + state->object_delim2 = fbuffer_alloc_with_length(16); + } + fbuffer_append_char(state->object_delim2, ':'); + if (state->space) fbuffer_append(state->object_delim2, state->space, state->space_len); + + if (state->array_delim) { + fbuffer_clear(state->array_delim); + } else { + state->array_delim = fbuffer_alloc_with_length(16); + } + fbuffer_append_char(state->array_delim, ','); + if (state->array_nl) fbuffer_append(state->array_delim, state->array_nl, state->array_nl_len); + + generate_json(buffer, self, state, obj, NIL_P(depth) ? 0 : FIX2INT(depth)); + result = fbuffer2rstring(buffer); + fbuffer_free_only_buffer(buffer); + FORCE_UTF8(result); + return result; +}</pre> +</body> +</html>
\ No newline at end of file |