summaryrefslogtreecommitdiff
path: root/doc/classes/JSON/Ext/Generator/State.src/M000139.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/classes/JSON/Ext/Generator/State.src/M000139.html')
-rw-r--r--doc/classes/JSON/Ext/Generator/State.src/M000139.html54
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-&gt;object_delim) {
+ fbuffer_clear(state-&gt;object_delim);
+ } else {
+ state-&gt;object_delim = fbuffer_alloc_with_length(16);
+ }
+ fbuffer_append_char(state-&gt;object_delim, ',');
+ if (state-&gt;object_delim2) {
+ fbuffer_clear(state-&gt;object_delim2);
+ } else {
+ state-&gt;object_delim2 = fbuffer_alloc_with_length(16);
+ }
+ fbuffer_append_char(state-&gt;object_delim2, ':');
+ if (state-&gt;space) fbuffer_append(state-&gt;object_delim2, state-&gt;space, state-&gt;space_len);
+
+ if (state-&gt;array_delim) {
+ fbuffer_clear(state-&gt;array_delim);
+ } else {
+ state-&gt;array_delim = fbuffer_alloc_with_length(16);
+ }
+ fbuffer_append_char(state-&gt;array_delim, ',');
+ if (state-&gt;array_nl) fbuffer_append(state-&gt;array_delim, state-&gt;array_nl, state-&gt;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