diff options
author | Florian Frank <flori@ping.de> | 2012-09-14 17:53:51 +0200 |
---|---|---|
committer | Florian Frank <flori@ping.de> | 2012-09-14 17:53:51 +0200 |
commit | 866c5802204f4ac2ffa1272d22ee58b41c3da61e (patch) | |
tree | 1c342dbc916843443550c1c9446527130e5ebbff /doc/classes/JSON/Ext | |
parent | acd5f91fb6acbac693fbf876611483f76ac2387b (diff) | |
download | json-866c5802204f4ac2ffa1272d22ee58b41c3da61e.tar.gz |
generated documentation
Diffstat (limited to 'doc/classes/JSON/Ext')
15 files changed, 3861 insertions, 0 deletions
diff --git a/doc/classes/JSON/Ext/Generator.html b/doc/classes/JSON/Ext/Generator.html new file mode 100644 index 0000000..cdff971 --- /dev/null +++ b/doc/classes/JSON/Ext/Generator.html @@ -0,0 +1,96 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + <title>JSON::Ext::Generator</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <link rel="stylesheet" href="../../../css/reset.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../css/main.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../css/github.css" type="text/css" media="screen" /> +<script src="../../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../js/main.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../js/highlight.pack.js" type="text/javascript" charset="utf-8"></script> + +</head> + +<body> + <div class="banner"> + + <h1> + <span class="type">Module</span> + JSON::Ext::Generator + + </h1> + <ul class="files"> + + <li><a href="../../../files/ext/json/ext/parser/parser_c.html">ext/json/ext/parser/parser.c</a></li> + + </ul> + </div> + <div id="bodyContent"> + <div id="content"> + + <div class="description"> + +<p>This is the <a href="../../JSON.html">JSON</a> generator implemented as a C +extension. It can be configured to be used by setting</p> + +<pre>JSON.generator = JSON::Ext::Generator</pre> + +<p>with the method generator= in <a href="../../JSON.html">JSON</a>.</p> + + </div> + + + + + + + + + + + + <!-- Namespace --> + <div class="sectiontitle">Namespace</div> + <ul> + + <li> + <span class="type">MODULE</span> + <a href="Generator/GeneratorMethods.html">JSON::Ext::Generator::GeneratorMethods</a> + </li> + + <li> + <span class="type">CLASS</span> + <a href="Generator/State.html">JSON::Ext::Generator::State</a> + </li> + + </ul> + + + + + + + + + + + + + + + + + + + + + + <!-- Methods --> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods.html new file mode 100644 index 0000000..a228ad2 --- /dev/null +++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods.html @@ -0,0 +1,125 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + <title>JSON::Ext::Generator::GeneratorMethods</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <link rel="stylesheet" href="../../../../css/reset.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../css/main.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../css/github.css" type="text/css" media="screen" /> +<script src="../../../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../js/main.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../js/highlight.pack.js" type="text/javascript" charset="utf-8"></script> + +</head> + +<body> + <div class="banner"> + + <h1> + <span class="type">Module</span> + JSON::Ext::Generator::GeneratorMethods + + </h1> + <ul class="files"> + + <li><a href="../../../../files/ext/json/ext/generator/generator_c.html">ext/json/ext/generator/generator.c</a></li> + + </ul> + </div> + <div id="bodyContent"> + <div id="content"> + + + + + + + + + + + + <!-- Namespace --> + <div class="sectiontitle">Namespace</div> + <ul> + + <li> + <span class="type">MODULE</span> + <a href="GeneratorMethods/Array.html">JSON::Ext::Generator::GeneratorMethods::Array</a> + </li> + + <li> + <span class="type">MODULE</span> + <a href="GeneratorMethods/Bignum.html">JSON::Ext::Generator::GeneratorMethods::Bignum</a> + </li> + + <li> + <span class="type">MODULE</span> + <a href="GeneratorMethods/FalseClass.html">JSON::Ext::Generator::GeneratorMethods::FalseClass</a> + </li> + + <li> + <span class="type">MODULE</span> + <a href="GeneratorMethods/Fixnum.html">JSON::Ext::Generator::GeneratorMethods::Fixnum</a> + </li> + + <li> + <span class="type">MODULE</span> + <a href="GeneratorMethods/Float.html">JSON::Ext::Generator::GeneratorMethods::Float</a> + </li> + + <li> + <span class="type">MODULE</span> + <a href="GeneratorMethods/Hash.html">JSON::Ext::Generator::GeneratorMethods::Hash</a> + </li> + + <li> + <span class="type">MODULE</span> + <a href="GeneratorMethods/NilClass.html">JSON::Ext::Generator::GeneratorMethods::NilClass</a> + </li> + + <li> + <span class="type">MODULE</span> + <a href="GeneratorMethods/Object.html">JSON::Ext::Generator::GeneratorMethods::Object</a> + </li> + + <li> + <span class="type">MODULE</span> + <a href="GeneratorMethods/String.html">JSON::Ext::Generator::GeneratorMethods::String</a> + </li> + + <li> + <span class="type">MODULE</span> + <a href="GeneratorMethods/TrueClass.html">JSON::Ext::Generator::GeneratorMethods::TrueClass</a> + </li> + + </ul> + + + + + + + + + + + + + + + + + + + + + + <!-- Methods --> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods/Array.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Array.html new file mode 100644 index 0000000..e98d4fe --- /dev/null +++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Array.html @@ -0,0 +1,127 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + <title>JSON::Ext::Generator::GeneratorMethods::Array</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <link rel="stylesheet" href="../../../../../css/reset.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../../css/main.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../../css/github.css" type="text/css" media="screen" /> +<script src="../../../../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/main.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/highlight.pack.js" type="text/javascript" charset="utf-8"></script> + +</head> + +<body> + <div class="banner"> + + <h1> + <span class="type">Module</span> + JSON::Ext::Generator::GeneratorMethods::Array + + </h1> + <ul class="files"> + + <li><a href="../../../../../files/ext/json/ext/generator/generator_c.html">ext/json/ext/generator/generator.c</a></li> + + </ul> + </div> + <div id="bodyContent"> + <div id="content"> + + + + + + + + + + + + + + + <!-- Method ref --> + <div class="sectiontitle">Methods</div> + <dl class="methods"> + + <dt>T</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-to_json">to_json</a> + </li> + + </ul> + </dd> + + </dl> + + + + + + + + + + + + + + + + + + + <!-- Methods --> + + <div class="sectiontitle">Instance Public methods</div> + + <div class="method"> + <div class="title method-title" id="method-i-to_json"> + + <a name="method-i-to_json"></a><b>to_json(state = nil) +</b> + + </div> + + + <div class="description"> + <p>Returns a <a href="../../../../JSON.html">JSON</a> string containing a <a +href="../../../../JSON.html">JSON</a> array, that is generated from this <a +href="Array.html">Array</a> instance. <em>state</em> is a JSON::State +object, that can also be used to configure the produced <a +href="../../../../JSON.html">JSON</a> string output further.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-to_json_source')" id="l_method-i-to_json_source">show</a> + + </p> + <div id="method-i-to_json_source" class="dyn-source"> + <pre>static VALUE mArray_to_json(int argc, VALUE *argv, VALUE self) { + GENERATE_JSON(array); +}</pre> + </div> + </div> + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods/Bignum.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Bignum.html new file mode 100644 index 0000000..32860f5 --- /dev/null +++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Bignum.html @@ -0,0 +1,125 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + <title>JSON::Ext::Generator::GeneratorMethods::Bignum</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <link rel="stylesheet" href="../../../../../css/reset.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../../css/main.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../../css/github.css" type="text/css" media="screen" /> +<script src="../../../../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/main.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/highlight.pack.js" type="text/javascript" charset="utf-8"></script> + +</head> + +<body> + <div class="banner"> + + <h1> + <span class="type">Module</span> + JSON::Ext::Generator::GeneratorMethods::Bignum + + </h1> + <ul class="files"> + + <li><a href="../../../../../files/ext/json/ext/generator/generator_c.html">ext/json/ext/generator/generator.c</a></li> + + </ul> + </div> + <div id="bodyContent"> + <div id="content"> + + + + + + + + + + + + + + + <!-- Method ref --> + <div class="sectiontitle">Methods</div> + <dl class="methods"> + + <dt>T</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-to_json">to_json</a> + </li> + + </ul> + </dd> + + </dl> + + + + + + + + + + + + + + + + + + + <!-- Methods --> + + <div class="sectiontitle">Instance Public methods</div> + + <div class="method"> + <div class="title method-title" id="method-i-to_json"> + + <a name="method-i-to_json"></a><b>to_json(*) +</b> + + </div> + + + <div class="description"> + <p>Returns a <a href="../../../../JSON.html">JSON</a> string representation +for this Integer number.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-to_json_source')" id="l_method-i-to_json_source">show</a> + + </p> + <div id="method-i-to_json_source" class="dyn-source"> + <pre>static VALUE mBignum_to_json(int argc, VALUE *argv, VALUE self) +{ + GENERATE_JSON(bignum); +}</pre> + </div> + </div> + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods/FalseClass.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods/FalseClass.html new file mode 100644 index 0000000..331cde5 --- /dev/null +++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/FalseClass.html @@ -0,0 +1,125 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + <title>JSON::Ext::Generator::GeneratorMethods::FalseClass</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <link rel="stylesheet" href="../../../../../css/reset.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../../css/main.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../../css/github.css" type="text/css" media="screen" /> +<script src="../../../../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/main.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/highlight.pack.js" type="text/javascript" charset="utf-8"></script> + +</head> + +<body> + <div class="banner"> + + <h1> + <span class="type">Module</span> + JSON::Ext::Generator::GeneratorMethods::FalseClass + + </h1> + <ul class="files"> + + <li><a href="../../../../../files/ext/json/ext/generator/generator_c.html">ext/json/ext/generator/generator.c</a></li> + + </ul> + </div> + <div id="bodyContent"> + <div id="content"> + + + + + + + + + + + + + + + <!-- Method ref --> + <div class="sectiontitle">Methods</div> + <dl class="methods"> + + <dt>T</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-to_json">to_json</a> + </li> + + </ul> + </dd> + + </dl> + + + + + + + + + + + + + + + + + + + <!-- Methods --> + + <div class="sectiontitle">Instance Public methods</div> + + <div class="method"> + <div class="title method-title" id="method-i-to_json"> + + <a name="method-i-to_json"></a><b>to_json(*) +</b> + + </div> + + + <div class="description"> + <p>Returns a <a href="../../../../JSON.html">JSON</a> string for false: +‘false’.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-to_json_source')" id="l_method-i-to_json_source">show</a> + + </p> + <div id="method-i-to_json_source" class="dyn-source"> + <pre>static VALUE mFalseClass_to_json(int argc, VALUE *argv, VALUE self) +{ + GENERATE_JSON(false); +}</pre> + </div> + </div> + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods/Fixnum.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Fixnum.html new file mode 100644 index 0000000..279cbb8 --- /dev/null +++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Fixnum.html @@ -0,0 +1,125 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + <title>JSON::Ext::Generator::GeneratorMethods::Fixnum</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <link rel="stylesheet" href="../../../../../css/reset.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../../css/main.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../../css/github.css" type="text/css" media="screen" /> +<script src="../../../../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/main.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/highlight.pack.js" type="text/javascript" charset="utf-8"></script> + +</head> + +<body> + <div class="banner"> + + <h1> + <span class="type">Module</span> + JSON::Ext::Generator::GeneratorMethods::Fixnum + + </h1> + <ul class="files"> + + <li><a href="../../../../../files/ext/json/ext/generator/generator_c.html">ext/json/ext/generator/generator.c</a></li> + + </ul> + </div> + <div id="bodyContent"> + <div id="content"> + + + + + + + + + + + + + + + <!-- Method ref --> + <div class="sectiontitle">Methods</div> + <dl class="methods"> + + <dt>T</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-to_json">to_json</a> + </li> + + </ul> + </dd> + + </dl> + + + + + + + + + + + + + + + + + + + <!-- Methods --> + + <div class="sectiontitle">Instance Public methods</div> + + <div class="method"> + <div class="title method-title" id="method-i-to_json"> + + <a name="method-i-to_json"></a><b>to_json(*) +</b> + + </div> + + + <div class="description"> + <p>Returns a <a href="../../../../JSON.html">JSON</a> string representation +for this Integer number.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-to_json_source')" id="l_method-i-to_json_source">show</a> + + </p> + <div id="method-i-to_json_source" class="dyn-source"> + <pre>static VALUE mFixnum_to_json(int argc, VALUE *argv, VALUE self) +{ + GENERATE_JSON(fixnum); +}</pre> + </div> + </div> + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods/Float.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Float.html new file mode 100644 index 0000000..95445d9 --- /dev/null +++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Float.html @@ -0,0 +1,125 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + <title>JSON::Ext::Generator::GeneratorMethods::Float</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <link rel="stylesheet" href="../../../../../css/reset.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../../css/main.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../../css/github.css" type="text/css" media="screen" /> +<script src="../../../../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/main.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/highlight.pack.js" type="text/javascript" charset="utf-8"></script> + +</head> + +<body> + <div class="banner"> + + <h1> + <span class="type">Module</span> + JSON::Ext::Generator::GeneratorMethods::Float + + </h1> + <ul class="files"> + + <li><a href="../../../../../files/ext/json/ext/generator/generator_c.html">ext/json/ext/generator/generator.c</a></li> + + </ul> + </div> + <div id="bodyContent"> + <div id="content"> + + + + + + + + + + + + + + + <!-- Method ref --> + <div class="sectiontitle">Methods</div> + <dl class="methods"> + + <dt>T</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-to_json">to_json</a> + </li> + + </ul> + </dd> + + </dl> + + + + + + + + + + + + + + + + + + + <!-- Methods --> + + <div class="sectiontitle">Instance Public methods</div> + + <div class="method"> + <div class="title method-title" id="method-i-to_json"> + + <a name="method-i-to_json"></a><b>to_json(*) +</b> + + </div> + + + <div class="description"> + <p>Returns a <a href="../../../../JSON.html">JSON</a> string representation +for this <a href="Float.html">Float</a> number.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-to_json_source')" id="l_method-i-to_json_source">show</a> + + </p> + <div id="method-i-to_json_source" class="dyn-source"> + <pre>static VALUE mFloat_to_json(int argc, VALUE *argv, VALUE self) +{ + GENERATE_JSON(float); +}</pre> + </div> + </div> + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods/Hash.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Hash.html new file mode 100644 index 0000000..a7384d9 --- /dev/null +++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Hash.html @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + <title>JSON::Ext::Generator::GeneratorMethods::Hash</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <link rel="stylesheet" href="../../../../../css/reset.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../../css/main.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../../css/github.css" type="text/css" media="screen" /> +<script src="../../../../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/main.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/highlight.pack.js" type="text/javascript" charset="utf-8"></script> + +</head> + +<body> + <div class="banner"> + + <h1> + <span class="type">Module</span> + JSON::Ext::Generator::GeneratorMethods::Hash + + </h1> + <ul class="files"> + + <li><a href="../../../../../files/ext/json/ext/generator/generator_c.html">ext/json/ext/generator/generator.c</a></li> + + </ul> + </div> + <div id="bodyContent"> + <div id="content"> + + + + + + + + + + + + + + + <!-- Method ref --> + <div class="sectiontitle">Methods</div> + <dl class="methods"> + + <dt>T</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-to_json">to_json</a> + </li> + + </ul> + </dd> + + </dl> + + + + + + + + + + + + + + + + + + + <!-- Methods --> + + <div class="sectiontitle">Instance Public methods</div> + + <div class="method"> + <div class="title method-title" id="method-i-to_json"> + + <a name="method-i-to_json"></a><b>to_json(state = nil) +</b> + + </div> + + + <div class="description"> + <p>Returns a <a href="../../../../JSON.html">JSON</a> string containing a <a +href="../../../../JSON.html">JSON</a> object, that is generated from this +<a href="Hash.html">Hash</a> instance. <em>state</em> is a JSON::State +object, that can also be used to configure the produced <a +href="../../../../JSON.html">JSON</a> string output further.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-to_json_source')" id="l_method-i-to_json_source">show</a> + + </p> + <div id="method-i-to_json_source" class="dyn-source"> + <pre>static VALUE mHash_to_json(int argc, VALUE *argv, VALUE self) +{ + GENERATE_JSON(object); +}</pre> + </div> + </div> + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods/NilClass.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods/NilClass.html new file mode 100644 index 0000000..132aa3c --- /dev/null +++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/NilClass.html @@ -0,0 +1,124 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + <title>JSON::Ext::Generator::GeneratorMethods::NilClass</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <link rel="stylesheet" href="../../../../../css/reset.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../../css/main.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../../css/github.css" type="text/css" media="screen" /> +<script src="../../../../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/main.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/highlight.pack.js" type="text/javascript" charset="utf-8"></script> + +</head> + +<body> + <div class="banner"> + + <h1> + <span class="type">Module</span> + JSON::Ext::Generator::GeneratorMethods::NilClass + + </h1> + <ul class="files"> + + <li><a href="../../../../../files/ext/json/ext/generator/generator_c.html">ext/json/ext/generator/generator.c</a></li> + + </ul> + </div> + <div id="bodyContent"> + <div id="content"> + + + + + + + + + + + + + + + <!-- Method ref --> + <div class="sectiontitle">Methods</div> + <dl class="methods"> + + <dt>T</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-to_json">to_json</a> + </li> + + </ul> + </dd> + + </dl> + + + + + + + + + + + + + + + + + + + <!-- Methods --> + + <div class="sectiontitle">Instance Public methods</div> + + <div class="method"> + <div class="title method-title" id="method-i-to_json"> + + <a name="method-i-to_json"></a><b>to_json(*) +</b> + + </div> + + + <div class="description"> + <p>Returns a <a href="../../../../JSON.html">JSON</a> string for nil: ‘null’.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-to_json_source')" id="l_method-i-to_json_source">show</a> + + </p> + <div id="method-i-to_json_source" class="dyn-source"> + <pre>static VALUE mNilClass_to_json(int argc, VALUE *argv, VALUE self) +{ + GENERATE_JSON(null); +}</pre> + </div> + </div> + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods/Object.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Object.html new file mode 100644 index 0000000..e731074 --- /dev/null +++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Object.html @@ -0,0 +1,133 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + <title>JSON::Ext::Generator::GeneratorMethods::Object</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <link rel="stylesheet" href="../../../../../css/reset.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../../css/main.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../../css/github.css" type="text/css" media="screen" /> +<script src="../../../../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/main.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/highlight.pack.js" type="text/javascript" charset="utf-8"></script> + +</head> + +<body> + <div class="banner"> + + <h1> + <span class="type">Module</span> + JSON::Ext::Generator::GeneratorMethods::Object + + </h1> + <ul class="files"> + + <li><a href="../../../../../files/ext/json/ext/generator/generator_c.html">ext/json/ext/generator/generator.c</a></li> + + </ul> + </div> + <div id="bodyContent"> + <div id="content"> + + + + + + + + + + + + + + + <!-- Method ref --> + <div class="sectiontitle">Methods</div> + <dl class="methods"> + + <dt>T</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-to_json">to_json</a> + </li> + + </ul> + </dd> + + </dl> + + + + + + + + + + + + + + + + + + + <!-- Methods --> + + <div class="sectiontitle">Instance Public methods</div> + + <div class="method"> + <div class="title method-title" id="method-i-to_json"> + + <a name="method-i-to_json"></a><b>to_json(*) +</b> + + </div> + + + <div class="description"> + <p>Converts this object to a string (calling to_s), converts it to a <a +href="../../../../JSON.html">JSON</a> string, and returns the result. This +is a fallback, if no special method <a +href="Object.html#method-i-to_json">to_json</a> was defined for some +object.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-to_json_source')" id="l_method-i-to_json_source">show</a> + + </p> + <div id="method-i-to_json_source" class="dyn-source"> + <pre>static VALUE mObject_to_json(int argc, VALUE *argv, VALUE self) +{ + VALUE state; + VALUE string = rb_funcall(self, i_to_s, 0); + rb_scan_args(argc, argv, "01", &state); + Check_Type(string, T_STRING); + state = cState_from_state_s(cState, state); + return cState_partial_generate(state, string); +}</pre> + </div> + </div> + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods/String.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods/String.html new file mode 100644 index 0000000..dbbb90b --- /dev/null +++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/String.html @@ -0,0 +1,281 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + <title>JSON::Ext::Generator::GeneratorMethods::String</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <link rel="stylesheet" href="../../../../../css/reset.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../../css/main.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../../css/github.css" type="text/css" media="screen" /> +<script src="../../../../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/main.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/highlight.pack.js" type="text/javascript" charset="utf-8"></script> + +</head> + +<body> + <div class="banner"> + + <h1> + <span class="type">Module</span> + JSON::Ext::Generator::GeneratorMethods::String + + </h1> + <ul class="files"> + + <li><a href="../../../../../files/ext/json/ext/generator/generator_c.html">ext/json/ext/generator/generator.c</a></li> + + </ul> + </div> + <div id="bodyContent"> + <div id="content"> + + + + + + + + + + + + <!-- Namespace --> + <div class="sectiontitle">Namespace</div> + <ul> + + <li> + <span class="type">MODULE</span> + <a href="String/Extend.html">JSON::Ext::Generator::GeneratorMethods::String::Extend</a> + </li> + + </ul> + + + + + <!-- Method ref --> + <div class="sectiontitle">Methods</div> + <dl class="methods"> + + <dt>I</dt> + <dd> + <ul> + + + <li> + <a href="#method-c-included">included</a> + </li> + + </ul> + </dd> + + <dt>T</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-to_json">to_json</a>, + </li> + + + <li> + <a href="#method-i-to_json_raw">to_json_raw</a>, + </li> + + + <li> + <a href="#method-i-to_json_raw_object">to_json_raw_object</a> + </li> + + </ul> + </dd> + + </dl> + + + + + + + + + + + + + + + + + + + <!-- Methods --> + + <div class="sectiontitle">Class Public methods</div> + + <div class="method"> + <div class="title method-title" id="method-c-included"> + + <a name="method-c-included"></a><b>String.included(modul) +</b> + + </div> + + + <div class="description"> + <p>Extends <em>modul</em> with the <a +href="String/Extend.html">String::Extend</a> module.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-c-included_source')" id="l_method-c-included_source">show</a> + + </p> + <div id="method-c-included_source" class="dyn-source"> + <pre>static VALUE mString_included_s(VALUE self, VALUE modul) { + VALUE result = rb_funcall(modul, i_extend, 1, mString_Extend); + return result; +}</pre> + </div> + </div> + + </div> + + <div class="sectiontitle">Instance Public methods</div> + + <div class="method"> + <div class="title method-title" id="method-i-to_json"> + + <a name="method-i-to_json"></a><b>to_json(*) +</b> + + </div> + + + <div class="description"> + <p>This string should be encoded with UTF-8 A call to this method returns a <a +href="../../../../JSON.html">JSON</a> string encoded with UTF16 big endian +characters as u????.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-to_json_source')" id="l_method-i-to_json_source">show</a> + + </p> + <div id="method-i-to_json_source" class="dyn-source"> + <pre>static VALUE mString_to_json(int argc, VALUE *argv, VALUE self) +{ + GENERATE_JSON(string); +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-to_json_raw"> + + <a name="method-i-to_json_raw"></a><b>to_json_raw(*args) +</b> + + </div> + + + <div class="description"> + <p>This method creates a <a href="../../../../JSON.html">JSON</a> text from +the result of a call to <a +href="String.html#method-i-to_json_raw_object">#to_json_raw_object</a> of +this <a href="String.html">String</a>.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-to_json_raw_source')" id="l_method-i-to_json_raw_source">show</a> + + </p> + <div id="method-i-to_json_raw_source" class="dyn-source"> + <pre>static VALUE mString_to_json_raw(int argc, VALUE *argv, VALUE self) +{ + VALUE obj = mString_to_json_raw_object(self); + Check_Type(obj, T_HASH); + return mHash_to_json(argc, argv, obj); +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-to_json_raw_object"> + + <a name="method-i-to_json_raw_object"></a><b>to_json_raw_object() +</b> + + </div> + + + <div class="description"> + <p>This method creates a raw object hash, that can be nested into other data +structures and will be generated as a raw string. This method should be +used, if you want to convert raw strings to <a +href="../../../../JSON.html">JSON</a> instead of UTF-8 strings, e. g. +binary data.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-to_json_raw_object_source')" id="l_method-i-to_json_raw_object_source">show</a> + + </p> + <div id="method-i-to_json_raw_object_source" class="dyn-source"> + <pre>static VALUE mString_to_json_raw_object(VALUE self) +{ + VALUE ary; + VALUE result = rb_hash_new(); + rb_hash_aset(result, rb_funcall(mJSON, i_create_id, 0), rb_class_name(rb_obj_class(self))); + ary = rb_funcall(self, i_unpack, 1, rb_str_new2("C*")); + rb_hash_aset(result, rb_str_new2("raw"), ary); + return result; +}</pre> + </div> + </div> + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods/String/Extend.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods/String/Extend.html new file mode 100644 index 0000000..aea6758 --- /dev/null +++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/String/Extend.html @@ -0,0 +1,129 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + <title>JSON::Ext::Generator::GeneratorMethods::String::Extend</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <link rel="stylesheet" href="../../../../../../css/reset.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../../../css/main.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../../../css/github.css" type="text/css" media="screen" /> +<script src="../../../../../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../../js/main.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../../js/highlight.pack.js" type="text/javascript" charset="utf-8"></script> + +</head> + +<body> + <div class="banner"> + + <h1> + <span class="type">Module</span> + JSON::Ext::Generator::GeneratorMethods::String::Extend + + </h1> + <ul class="files"> + + <li><a href="../../../../../../files/ext/json/ext/generator/generator_c.html">ext/json/ext/generator/generator.c</a></li> + + </ul> + </div> + <div id="bodyContent"> + <div id="content"> + + + + + + + + + + + + + + + <!-- Method ref --> + <div class="sectiontitle">Methods</div> + <dl class="methods"> + + <dt>J</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-json_create">json_create</a> + </li> + + </ul> + </dd> + + </dl> + + + + + + + + + + + + + + + + + + + <!-- Methods --> + + <div class="sectiontitle">Instance Public methods</div> + + <div class="method"> + <div class="title method-title" id="method-i-json_create"> + + <a name="method-i-json_create"></a><b>json_create(o) +</b> + + </div> + + + <div class="description"> + <p>Raw Strings are <a href="../../../../../JSON.html">JSON</a> Objects (the +raw bytes are stored in an array for the key “raw”). The Ruby <a +href="../String.html">String</a> can be created by this module method.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-json_create_source')" id="l_method-i-json_create_source">show</a> + + </p> + <div id="method-i-json_create_source" class="dyn-source"> + <pre>static VALUE mString_Extend_json_create(VALUE self, VALUE o) +{ + VALUE ary; + Check_Type(o, T_HASH); + ary = rb_hash_aref(o, rb_str_new2("raw")); + return rb_funcall(ary, i_pack, 1, rb_str_new2("C*")); +}</pre> + </div> + </div> + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods/TrueClass.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods/TrueClass.html new file mode 100644 index 0000000..d9ac60c --- /dev/null +++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/TrueClass.html @@ -0,0 +1,124 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + <title>JSON::Ext::Generator::GeneratorMethods::TrueClass</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <link rel="stylesheet" href="../../../../../css/reset.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../../css/main.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../../css/github.css" type="text/css" media="screen" /> +<script src="../../../../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/main.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../../js/highlight.pack.js" type="text/javascript" charset="utf-8"></script> + +</head> + +<body> + <div class="banner"> + + <h1> + <span class="type">Module</span> + JSON::Ext::Generator::GeneratorMethods::TrueClass + + </h1> + <ul class="files"> + + <li><a href="../../../../../files/ext/json/ext/generator/generator_c.html">ext/json/ext/generator/generator.c</a></li> + + </ul> + </div> + <div id="bodyContent"> + <div id="content"> + + + + + + + + + + + + + + + <!-- Method ref --> + <div class="sectiontitle">Methods</div> + <dl class="methods"> + + <dt>T</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-to_json">to_json</a> + </li> + + </ul> + </dd> + + </dl> + + + + + + + + + + + + + + + + + + + <!-- Methods --> + + <div class="sectiontitle">Instance Public methods</div> + + <div class="method"> + <div class="title method-title" id="method-i-to_json"> + + <a name="method-i-to_json"></a><b>to_json(*) +</b> + + </div> + + + <div class="description"> + <p>Returns a <a href="../../../../JSON.html">JSON</a> string for true: ‘true’.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-to_json_source')" id="l_method-i-to_json_source">show</a> + + </p> + <div id="method-i-to_json_source" class="dyn-source"> + <pre>static VALUE mTrueClass_to_json(int argc, VALUE *argv, VALUE self) +{ + GENERATE_JSON(true); +}</pre> + </div> + </div> + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Ext/Generator/State.html b/doc/classes/JSON/Ext/Generator/State.html new file mode 100644 index 0000000..0f27f0d --- /dev/null +++ b/doc/classes/JSON/Ext/Generator/State.html @@ -0,0 +1,1678 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + <title>JSON::Ext::Generator::State</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <link rel="stylesheet" href="../../../../css/reset.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../css/main.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../../css/github.css" type="text/css" media="screen" /> +<script src="../../../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../js/main.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../../js/highlight.pack.js" type="text/javascript" charset="utf-8"></script> + +</head> + +<body> + <div class="banner"> + + <h1> + <span class="type">Class</span> + JSON::Ext::Generator::State + + <span class="parent">< + + Object + + </span> + + </h1> + <ul class="files"> + + <li><a href="../../../../files/ext/json/ext/generator/generator_c.html">ext/json/ext/generator/generator.c</a></li> + + </ul> + </div> + <div id="bodyContent"> + <div id="content"> + + + + + + + + + + + + + + + <!-- Method ref --> + <div class="sectiontitle">Methods</div> + <dl class="methods"> + + <dt>#</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-5B-5D">[]</a> + </li> + + </ul> + </dd> + + <dt>A</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-allow_nan-3F">allow_nan?</a>, + </li> + + + <li> + <a href="#method-i-array_nl">array_nl</a>, + </li> + + + <li> + <a href="#method-i-array_nl-3D">array_nl=</a>, + </li> + + + <li> + <a href="#method-i-ascii_only-3F">ascii_only?</a> + </li> + + </ul> + </dd> + + <dt>B</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-buffer_initial_length">buffer_initial_length</a>, + </li> + + + <li> + <a href="#method-i-buffer_initial_length-3D">buffer_initial_length=</a> + </li> + + </ul> + </dd> + + <dt>C</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-check_circular-3F">check_circular?</a>, + </li> + + + <li> + <a href="#method-i-configure">configure</a> + </li> + + </ul> + </dd> + + <dt>D</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-depth">depth</a>, + </li> + + + <li> + <a href="#method-i-depth-3D">depth=</a> + </li> + + </ul> + </dd> + + <dt>F</dt> + <dd> + <ul> + + + <li> + <a href="#method-c-from_state">from_state</a> + </li> + + </ul> + </dd> + + <dt>G</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-generate">generate</a> + </li> + + </ul> + </dd> + + <dt>I</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-indent">indent</a>, + </li> + + + <li> + <a href="#method-i-indent-3D">indent=</a>, + </li> + + + <li> + <a href="#method-i-initialize_copy">initialize_copy</a> + </li> + + </ul> + </dd> + + <dt>M</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-max_nesting">max_nesting</a>, + </li> + + + <li> + <a href="#method-i-max_nesting-3D">max_nesting=</a>, + </li> + + + <li> + <a href="#method-i-merge">merge</a> + </li> + + </ul> + </dd> + + <dt>N</dt> + <dd> + <ul> + + + <li> + <a href="#method-c-new">new</a> + </li> + + </ul> + </dd> + + <dt>O</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-object_nl">object_nl</a>, + </li> + + + <li> + <a href="#method-i-object_nl-3D">object_nl=</a> + </li> + + </ul> + </dd> + + <dt>Q</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-quirks_mode">quirks_mode</a>, + </li> + + + <li> + <a href="#method-i-quirks_mode-3D">quirks_mode=</a>, + </li> + + + <li> + <a href="#method-i-quirks_mode-3F">quirks_mode?</a> + </li> + + </ul> + </dd> + + <dt>S</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-space">space</a>, + </li> + + + <li> + <a href="#method-i-space-3D">space=</a>, + </li> + + + <li> + <a href="#method-i-space_before">space_before</a>, + </li> + + + <li> + <a href="#method-i-space_before-3D">space_before=</a> + </li> + + </ul> + </dd> + + <dt>T</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-to_h">to_h</a> + </li> + + </ul> + </dd> + + </dl> + + + + + + + + + + + + + + + + + + + <!-- Methods --> + + <div class="sectiontitle">Class Public methods</div> + + <div class="method"> + <div class="title method-title" id="method-c-from_state"> + + <a name="method-c-from_state"></a><b>from_state(opts) +</b> + + </div> + + + <div class="description"> + <p>Creates a <a href="State.html">State</a> object from <em>opts</em>, which +ought to be Hash to create a new <a href="State.html">State</a> instance +configured by <em>opts</em>, something else to create an unconfigured +instance. If <em>opts</em> is a <a href="State.html">State</a> object, it +is just returned.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-c-from_state_source')" id="l_method-c-from_state_source">show</a> + + </p> + <div id="method-c-from_state_source" class="dyn-source"> + <pre>static VALUE cState_from_state_s(VALUE self, VALUE opts) +{ + if (rb_obj_is_kind_of(opts, self)) { + return opts; + } else if (rb_obj_is_kind_of(opts, rb_cHash)) { + return rb_funcall(self, i_new, 1, opts); + } else { + if (NIL_P(CJSON_SAFE_STATE_PROTOTYPE)) { + CJSON_SAFE_STATE_PROTOTYPE = rb_const_get(mJSON, i_SAFE_STATE_PROTOTYPE); + } + return rb_funcall(CJSON_SAFE_STATE_PROTOTYPE, i_dup, 0); + } +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-c-new"> + + <a name="method-c-new"></a><b>new(opts = {}) +</b> + + </div> + + + <div class="description"> + <p>Instantiates a new <a href="State.html">State</a> object, configured by +<em>opts</em>.</p> + +<p><em>opts</em> can have the following keys:</p> +<ul><li> +<p><strong>indent</strong>: a string used to indent levels (default: "),</p> +</li><li> +<p><strong>space</strong>: a string that is put after, a : or , delimiter +(default: "),</p> +</li><li> +<p><strong><a +href="State.html#method-i-space_before">#space_before</a></strong>: a +string that is put before a : pair delimiter (default: "),</p> +</li><li> +<p><strong><a href="State.html#method-i-object_nl">#object_nl</a></strong>: a +string that is put at the end of a <a href="../../../JSON.html">JSON</a> +object (default: "),</p> +</li><li> +<p><strong><a href="State.html#method-i-array_nl">#array_nl</a></strong>: a +string that is put at the end of a <a href="../../../JSON.html">JSON</a> +array (default: "),</p> +</li><li> +<p><strong>allow_nan</strong>: true if NaN, Infinity, and -Infinity should be +generated, otherwise an exception is thrown, if these values are +encountered. This options defaults to false.</p> +</li><li> +<p><strong><a +href="State.html#method-i-quirks_mode">#quirks_mode</a></strong>: Enables +<a href="State.html#method-i-quirks_mode">#quirks_mode</a> for parser, that +is for example generating single <a href="../../../JSON.html">JSON</a> +values instead of documents is possible.</p> +</li><li> +<p><strong><a +href="State.html#method-i-buffer_initial_length">#buffer_initial_length</a></strong>: +sets the initial length of the generator's internal buffer.</p> +</li></ul> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-c-new_source')" id="l_method-c-new_source">show</a> + + </p> + <div id="method-c-new_source" class="dyn-source"> + <pre>static VALUE cState_initialize(int argc, VALUE *argv, VALUE self) +{ + VALUE opts; + GET_STATE(self); + state->max_nesting = 19; + state->buffer_initial_length = FBUFFER_INITIAL_LENGTH_DEFAULT; + rb_scan_args(argc, argv, "01", &opts); + if (!NIL_P(opts)) cState_configure(self, opts); + return self; +}</pre> + </div> + </div> + + </div> + + <div class="sectiontitle">Instance Public methods</div> + + <div class="method"> + <div class="title method-title" id="method-i-5B-5D"> + + <a name="method-i-5B-5D"></a><b>[](name) +</b> + + </div> + + + <div class="description"> + <p>Return the value returned by method <code>name</code>.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-5B-5D_source')" id="l_method-i-5B-5D_source">show</a> + + </p> + <div id="method-i-5B-5D_source" class="dyn-source"> + <pre>static VALUE cState_aref(VALUE self, VALUE name) +{ + GET_STATE(self); + if (RTEST(rb_funcall(self, i_respond_to_p, 1, name))) { + return rb_funcall(self, i_send, 1, name); + } else { + return Qnil; + } +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-allow_nan-3F"> + + <a name="method-i-allow_nan-3F"></a><b>allow_nan? +</b> + + </div> + + + <div class="description"> + <p>Returns true, if NaN, Infinity, and -Infinity should be generated, +otherwise returns false.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-allow_nan-3F_source')" id="l_method-i-allow_nan-3F_source">show</a> + + </p> + <div id="method-i-allow_nan-3F_source" class="dyn-source"> + <pre>static VALUE cState_allow_nan_p(VALUE self) +{ + GET_STATE(self); + return state->allow_nan ? Qtrue : Qfalse; +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-array_nl"> + + <a name="method-i-array_nl"></a><b>array_nl() +</b> + + </div> + + + <div class="description"> + <p>This string is put at the end of a line that holds a <a +href="../../../JSON.html">JSON</a> array.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-array_nl_source')" id="l_method-i-array_nl_source">show</a> + + </p> + <div id="method-i-array_nl_source" class="dyn-source"> + <pre>static VALUE cState_array_nl(VALUE self) +{ + GET_STATE(self); + return state->array_nl ? rb_str_new2(state->array_nl) : rb_str_new2(""); +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-array_nl-3D"> + + <a name="method-i-array_nl-3D"></a><b>array_nl=(array_nl) +</b> + + </div> + + + <div class="description"> + <p>This string is put at the end of a line that holds a <a +href="../../../JSON.html">JSON</a> array.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-array_nl-3D_source')" id="l_method-i-array_nl-3D_source">show</a> + + </p> + <div id="method-i-array_nl-3D_source" class="dyn-source"> + <pre>static VALUE cState_array_nl_set(VALUE self, VALUE array_nl) +{ + unsigned long len; + GET_STATE(self); + Check_Type(array_nl, T_STRING); + len = RSTRING_LEN(array_nl); + if (len == 0) { + if (state->array_nl) { + ruby_xfree(state->array_nl); + state->array_nl = NULL; + } + } else { + if (state->array_nl) ruby_xfree(state->array_nl); + state->array_nl = strdup(RSTRING_PTR(array_nl)); + state->array_nl_len = len; + } + return Qnil; +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-ascii_only-3F"> + + <a name="method-i-ascii_only-3F"></a><b>ascii_only? +</b> + + </div> + + + <div class="description"> + <p>Returns true, if NaN, Infinity, and -Infinity should be generated, +otherwise returns false.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-ascii_only-3F_source')" id="l_method-i-ascii_only-3F_source">show</a> + + </p> + <div id="method-i-ascii_only-3F_source" class="dyn-source"> + <pre>static VALUE cState_ascii_only_p(VALUE self) +{ + GET_STATE(self); + return state->ascii_only ? Qtrue : Qfalse; +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-buffer_initial_length"> + + <a name="method-i-buffer_initial_length"></a><b>buffer_initial_length +</b> + + </div> + + + <div class="description"> + <p>This integer returns the current inital length of the buffer.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-buffer_initial_length_source')" id="l_method-i-buffer_initial_length_source">show</a> + + </p> + <div id="method-i-buffer_initial_length_source" class="dyn-source"> + <pre>static VALUE cState_buffer_initial_length(VALUE self) +{ + GET_STATE(self); + return LONG2FIX(state->buffer_initial_length); +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-buffer_initial_length-3D"> + + <a name="method-i-buffer_initial_length-3D"></a><b>buffer_initial_length=(length) +</b> + + </div> + + + <div class="description"> + <p>This sets the initial length of the buffer to <code>length</code>, if +<code>length</code> > 0, otherwise its value isn’t changed.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-buffer_initial_length-3D_source')" id="l_method-i-buffer_initial_length-3D_source">show</a> + + </p> + <div id="method-i-buffer_initial_length-3D_source" class="dyn-source"> + <pre>static VALUE cState_buffer_initial_length_set(VALUE self, VALUE buffer_initial_length) +{ + long initial_length; + GET_STATE(self); + Check_Type(buffer_initial_length, T_FIXNUM); + initial_length = FIX2LONG(buffer_initial_length); + if (initial_length > 0) { + state->buffer_initial_length = initial_length; + } + return Qnil; +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-check_circular-3F"> + + <a name="method-i-check_circular-3F"></a><b>check_circular? +</b> + + </div> + + + <div class="description"> + <p>Returns true, if circular data structures should be checked, otherwise +returns false.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-check_circular-3F_source')" id="l_method-i-check_circular-3F_source">show</a> + + </p> + <div id="method-i-check_circular-3F_source" class="dyn-source"> + <pre>static VALUE cState_check_circular_p(VALUE self) +{ + GET_STATE(self); + return state->max_nesting ? Qtrue : Qfalse; +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-configure"> + + <a name="method-i-configure"></a><b>configure(opts) +</b> + + </div> + + + <div class="description"> + <p>Configure this <a href="State.html">State</a> instance with the Hash +<em>opts</em>, and return itself.</p> + </div> + + + + <div class="aka"> + Also aliased as: <a href="State.html#method-i-merge">merge</a> + </div> + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-configure_source')" id="l_method-i-configure_source">show</a> + + </p> + <div id="method-i-configure_source" class="dyn-source"> + <pre>static VALUE cState_configure(VALUE self, VALUE opts) +{ + VALUE tmp; + GET_STATE(self); + tmp = rb_convert_type(opts, T_HASH, "Hash", "to_hash"); + if (NIL_P(tmp)) tmp = rb_convert_type(opts, T_HASH, "Hash", "to_h"); + if (NIL_P(tmp)) { + rb_raise(rb_eArgError, "opts has to be hash like or convertable into a hash"); + } + opts = tmp; + tmp = rb_hash_aref(opts, ID2SYM(i_indent)); + if (RTEST(tmp)) { + unsigned long len; + Check_Type(tmp, T_STRING); + len = RSTRING_LEN(tmp); + state->indent = fstrndup(RSTRING_PTR(tmp), len); + state->indent_len = len; + } + tmp = rb_hash_aref(opts, ID2SYM(i_space)); + if (RTEST(tmp)) { + unsigned long len; + Check_Type(tmp, T_STRING); + len = RSTRING_LEN(tmp); + state->space = fstrndup(RSTRING_PTR(tmp), len); + state->space_len = len; + } + tmp = rb_hash_aref(opts, ID2SYM(i_space_before)); + if (RTEST(tmp)) { + unsigned long len; + Check_Type(tmp, T_STRING); + len = RSTRING_LEN(tmp); + state->space_before = fstrndup(RSTRING_PTR(tmp), len); + state->space_before_len = len; + } + tmp = rb_hash_aref(opts, ID2SYM(i_array_nl)); + if (RTEST(tmp)) { + unsigned long len; + Check_Type(tmp, T_STRING); + len = RSTRING_LEN(tmp); + state->array_nl = fstrndup(RSTRING_PTR(tmp), len); + state->array_nl_len = len; + } + tmp = rb_hash_aref(opts, ID2SYM(i_object_nl)); + if (RTEST(tmp)) { + unsigned long len; + Check_Type(tmp, T_STRING); + len = RSTRING_LEN(tmp); + state->object_nl = fstrndup(RSTRING_PTR(tmp), len); + state->object_nl_len = len; + } + tmp = ID2SYM(i_max_nesting); + state->max_nesting = 19; + if (option_given_p(opts, tmp)) { + VALUE max_nesting = rb_hash_aref(opts, tmp); + if (RTEST(max_nesting)) { + Check_Type(max_nesting, T_FIXNUM); + state->max_nesting = FIX2LONG(max_nesting); + } else { + state->max_nesting = 0; + } + } + tmp = ID2SYM(i_depth); + state->depth = 0; + if (option_given_p(opts, tmp)) { + VALUE depth = rb_hash_aref(opts, tmp); + if (RTEST(depth)) { + Check_Type(depth, T_FIXNUM); + state->depth = FIX2LONG(depth); + } else { + state->depth = 0; + } + } + tmp = ID2SYM(i_buffer_initial_length); + if (option_given_p(opts, tmp)) { + VALUE buffer_initial_length = rb_hash_aref(opts, tmp); + if (RTEST(buffer_initial_length)) { + long initial_length; + Check_Type(buffer_initial_length, T_FIXNUM); + initial_length = FIX2LONG(buffer_initial_length); + if (initial_length > 0) state->buffer_initial_length = initial_length; + } + } + tmp = rb_hash_aref(opts, ID2SYM(i_allow_nan)); + state->allow_nan = RTEST(tmp); + tmp = rb_hash_aref(opts, ID2SYM(i_ascii_only)); + state->ascii_only = RTEST(tmp); + tmp = rb_hash_aref(opts, ID2SYM(i_quirks_mode)); + state->quirks_mode = RTEST(tmp); + return self; +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-depth"> + + <a name="method-i-depth"></a><b>depth +</b> + + </div> + + + <div class="description"> + <p>This integer returns the current depth of data structure nesting.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-depth_source')" id="l_method-i-depth_source">show</a> + + </p> + <div id="method-i-depth_source" class="dyn-source"> + <pre>static VALUE cState_depth(VALUE self) +{ + GET_STATE(self); + return LONG2FIX(state->depth); +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-depth-3D"> + + <a name="method-i-depth-3D"></a><b>depth=(depth) +</b> + + </div> + + + <div class="description"> + <p>This sets the maximum level of data structure nesting in the generated <a +href="../../../JSON.html">JSON</a> to the integer depth, <a +href="State.html#method-i-max_nesting">#max_nesting</a> = 0 if no maximum +should be checked.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-depth-3D_source')" id="l_method-i-depth-3D_source">show</a> + + </p> + <div id="method-i-depth-3D_source" class="dyn-source"> + <pre>static VALUE cState_depth_set(VALUE self, VALUE depth) +{ + GET_STATE(self); + Check_Type(depth, T_FIXNUM); + state->depth = FIX2LONG(depth); + return Qnil; +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-generate"> + + <a name="method-i-generate"></a><b>generate(obj) +</b> + + </div> + + + <div class="description"> + <p>Generates a valid <a href="../../../JSON.html">JSON</a> document from +object <code>obj</code> and returns the result. If no valid <a +href="../../../JSON.html">JSON</a> document can be created this method +raises a <a href="../../GeneratorError.html">GeneratorError</a> exception.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-generate_source')" id="l_method-i-generate_source">show</a> + + </p> + <div id="method-i-generate_source" class="dyn-source"> + <pre>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; +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-indent"> + + <a name="method-i-indent"></a><b>indent() +</b> + + </div> + + + <div class="description"> + <p>This string is used to indent levels in the <a +href="../../../JSON.html">JSON</a> text.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-indent_source')" id="l_method-i-indent_source">show</a> + + </p> + <div id="method-i-indent_source" class="dyn-source"> + <pre>static VALUE cState_indent(VALUE self) +{ + GET_STATE(self); + return state->indent ? rb_str_new2(state->indent) : rb_str_new2(""); +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-indent-3D"> + + <a name="method-i-indent-3D"></a><b>indent=(indent) +</b> + + </div> + + + <div class="description"> + <p>This string is used to indent levels in the <a +href="../../../JSON.html">JSON</a> text.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-indent-3D_source')" id="l_method-i-indent-3D_source">show</a> + + </p> + <div id="method-i-indent-3D_source" class="dyn-source"> + <pre>static VALUE cState_indent_set(VALUE self, VALUE indent) +{ + unsigned long len; + GET_STATE(self); + Check_Type(indent, T_STRING); + len = RSTRING_LEN(indent); + if (len == 0) { + if (state->indent) { + ruby_xfree(state->indent); + state->indent = NULL; + state->indent_len = 0; + } + } else { + if (state->indent) ruby_xfree(state->indent); + state->indent = strdup(RSTRING_PTR(indent)); + state->indent_len = len; + } + return Qnil; +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-initialize_copy"> + + <a name="method-i-initialize_copy"></a><b>initialize_copy(orig) +</b> + + </div> + + + <div class="description"> + <p>Initializes this object from orig if it to be duplicated/cloned and returns +it.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-initialize_copy_source')" id="l_method-i-initialize_copy_source">show</a> + + </p> + <div id="method-i-initialize_copy_source" class="dyn-source"> + <pre>static VALUE cState_init_copy(VALUE obj, VALUE orig) +{ + JSON_Generator_State *objState, *origState; + + Data_Get_Struct(obj, JSON_Generator_State, objState); + Data_Get_Struct(orig, JSON_Generator_State, origState); + if (!objState) rb_raise(rb_eArgError, "unallocated JSON::State"); + + MEMCPY(objState, origState, JSON_Generator_State, 1); + objState->indent = fstrndup(origState->indent, origState->indent_len); + objState->space = fstrndup(origState->space, origState->space_len); + objState->space_before = fstrndup(origState->space_before, origState->space_before_len); + objState->object_nl = fstrndup(origState->object_nl, origState->object_nl_len); + objState->array_nl = fstrndup(origState->array_nl, origState->array_nl_len); + if (origState->array_delim) objState->array_delim = fbuffer_dup(origState->array_delim); + if (origState->object_delim) objState->object_delim = fbuffer_dup(origState->object_delim); + if (origState->object_delim2) objState->object_delim2 = fbuffer_dup(origState->object_delim2); + return obj; +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-max_nesting"> + + <a name="method-i-max_nesting"></a><b>max_nesting +</b> + + </div> + + + <div class="description"> + <p>This integer returns the maximum level of data structure nesting in the +generated <a href="../../../JSON.html">JSON</a>, <a +href="State.html#method-i-max_nesting">#max_nesting</a> = 0 if no maximum +is checked.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-max_nesting_source')" id="l_method-i-max_nesting_source">show</a> + + </p> + <div id="method-i-max_nesting_source" class="dyn-source"> + <pre>static VALUE cState_max_nesting(VALUE self) +{ + GET_STATE(self); + return LONG2FIX(state->max_nesting); +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-max_nesting-3D"> + + <a name="method-i-max_nesting-3D"></a><b>max_nesting=(depth) +</b> + + </div> + + + <div class="description"> + <p>This sets the maximum level of data structure nesting in the generated <a +href="../../../JSON.html">JSON</a> to the integer depth, <a +href="State.html#method-i-max_nesting">#max_nesting</a> = 0 if no maximum +should be checked.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-max_nesting-3D_source')" id="l_method-i-max_nesting-3D_source">show</a> + + </p> + <div id="method-i-max_nesting-3D_source" class="dyn-source"> + <pre>static VALUE cState_max_nesting_set(VALUE self, VALUE depth) +{ + GET_STATE(self); + Check_Type(depth, T_FIXNUM); + return state->max_nesting = FIX2LONG(depth); +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-merge"> + + <a name="method-i-merge"></a><b>merge</b>(p1) + + </div> + + + <div class="description"> + + </div> + + + + + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-object_nl"> + + <a name="method-i-object_nl"></a><b>object_nl() +</b> + + </div> + + + <div class="description"> + <p>This string is put at the end of a line that holds a <a +href="../../../JSON.html">JSON</a> object (or Hash).</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-object_nl_source')" id="l_method-i-object_nl_source">show</a> + + </p> + <div id="method-i-object_nl_source" class="dyn-source"> + <pre>static VALUE cState_object_nl(VALUE self) +{ + GET_STATE(self); + return state->object_nl ? rb_str_new2(state->object_nl) : rb_str_new2(""); +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-object_nl-3D"> + + <a name="method-i-object_nl-3D"></a><b>object_nl=(object_nl) +</b> + + </div> + + + <div class="description"> + <p>This string is put at the end of a line that holds a <a +href="../../../JSON.html">JSON</a> object (or Hash).</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-object_nl-3D_source')" id="l_method-i-object_nl-3D_source">show</a> + + </p> + <div id="method-i-object_nl-3D_source" class="dyn-source"> + <pre>static VALUE cState_object_nl_set(VALUE self, VALUE object_nl) +{ + unsigned long len; + GET_STATE(self); + Check_Type(object_nl, T_STRING); + len = RSTRING_LEN(object_nl); + if (len == 0) { + if (state->object_nl) { + ruby_xfree(state->object_nl); + state->object_nl = NULL; + } + } else { + if (state->object_nl) ruby_xfree(state->object_nl); + state->object_nl = strdup(RSTRING_PTR(object_nl)); + state->object_nl_len = len; + } + return Qnil; +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-quirks_mode"> + + <a name="method-i-quirks_mode"></a><b>quirks_mode? +</b> + + </div> + + + <div class="description"> + <p>Returns true, if quirks mode is enabled. Otherwise returns false.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-quirks_mode_source')" id="l_method-i-quirks_mode_source">show</a> + + </p> + <div id="method-i-quirks_mode_source" class="dyn-source"> + <pre>static VALUE cState_quirks_mode_p(VALUE self) +{ + GET_STATE(self); + return state->quirks_mode ? Qtrue : Qfalse; +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-quirks_mode-3D"> + + <a name="method-i-quirks_mode-3D"></a><b>quirks_mode=(enable) +</b> + + </div> + + + <div class="description"> + <p>If set to true, enables the <a +href="State.html#method-i-quirks_mode">#quirks_mode</a> mode.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-quirks_mode-3D_source')" id="l_method-i-quirks_mode-3D_source">show</a> + + </p> + <div id="method-i-quirks_mode-3D_source" class="dyn-source"> + <pre>static VALUE cState_quirks_mode_set(VALUE self, VALUE enable) +{ + GET_STATE(self); + state->quirks_mode = RTEST(enable); + return Qnil; +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-quirks_mode-3F"> + + <a name="method-i-quirks_mode-3F"></a><b>quirks_mode? +</b> + + </div> + + + <div class="description"> + <p>Returns true, if quirks mode is enabled. Otherwise returns false.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-quirks_mode-3F_source')" id="l_method-i-quirks_mode-3F_source">show</a> + + </p> + <div id="method-i-quirks_mode-3F_source" class="dyn-source"> + <pre>static VALUE cState_quirks_mode_p(VALUE self) +{ + GET_STATE(self); + return state->quirks_mode ? Qtrue : Qfalse; +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-space"> + + <a name="method-i-space"></a><b>space() +</b> + + </div> + + + <div class="description"> + <p>This string is used to insert a space between the tokens in a <a +href="../../../JSON.html">JSON</a> string.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-space_source')" id="l_method-i-space_source">show</a> + + </p> + <div id="method-i-space_source" class="dyn-source"> + <pre>static VALUE cState_space(VALUE self) +{ + GET_STATE(self); + return state->space ? rb_str_new2(state->space) : rb_str_new2(""); +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-space-3D"> + + <a name="method-i-space-3D"></a><b>space=(space) +</b> + + </div> + + + <div class="description"> + <p>This string is used to insert a space between the tokens in a <a +href="../../../JSON.html">JSON</a> string.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-space-3D_source')" id="l_method-i-space-3D_source">show</a> + + </p> + <div id="method-i-space-3D_source" class="dyn-source"> + <pre>static VALUE cState_space_set(VALUE self, VALUE space) +{ + unsigned long len; + GET_STATE(self); + Check_Type(space, T_STRING); + len = RSTRING_LEN(space); + if (len == 0) { + if (state->space) { + ruby_xfree(state->space); + state->space = NULL; + state->space_len = 0; + } + } else { + if (state->space) ruby_xfree(state->space); + state->space = strdup(RSTRING_PTR(space)); + state->space_len = len; + } + return Qnil; +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-space_before"> + + <a name="method-i-space_before"></a><b>space_before() +</b> + + </div> + + + <div class="description"> + <p>This string is used to insert a space before the ‘:’ in <a +href="../../../JSON.html">JSON</a> objects.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-space_before_source')" id="l_method-i-space_before_source">show</a> + + </p> + <div id="method-i-space_before_source" class="dyn-source"> + <pre>static VALUE cState_space_before(VALUE self) +{ + GET_STATE(self); + return state->space_before ? rb_str_new2(state->space_before) : rb_str_new2(""); +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-space_before-3D"> + + <a name="method-i-space_before-3D"></a><b>space_before=(space_before) +</b> + + </div> + + + <div class="description"> + <p>This string is used to insert a space before the ‘:’ in <a +href="../../../JSON.html">JSON</a> objects.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-space_before-3D_source')" id="l_method-i-space_before-3D_source">show</a> + + </p> + <div id="method-i-space_before-3D_source" class="dyn-source"> + <pre>static VALUE cState_space_before_set(VALUE self, VALUE space_before) +{ + unsigned long len; + GET_STATE(self); + Check_Type(space_before, T_STRING); + len = RSTRING_LEN(space_before); + if (len == 0) { + if (state->space_before) { + ruby_xfree(state->space_before); + state->space_before = NULL; + state->space_before_len = 0; + } + } else { + if (state->space_before) ruby_xfree(state->space_before); + state->space_before = strdup(RSTRING_PTR(space_before)); + state->space_before_len = len; + } + return Qnil; +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-to_h"> + + <a name="method-i-to_h"></a><b>to_h +</b> + + </div> + + + <div class="description"> + <p>Returns the configuration instance variables as a hash, that can be passed +to the configure method.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-to_h_source')" id="l_method-i-to_h_source">show</a> + + </p> + <div id="method-i-to_h_source" class="dyn-source"> + <pre>static VALUE cState_to_h(VALUE self) +{ + VALUE result = rb_hash_new(); + GET_STATE(self); + rb_hash_aset(result, ID2SYM(i_indent), rb_str_new(state->indent, state->indent_len)); + rb_hash_aset(result, ID2SYM(i_space), rb_str_new(state->space, state->space_len)); + rb_hash_aset(result, ID2SYM(i_space_before), rb_str_new(state->space_before, state->space_before_len)); + rb_hash_aset(result, ID2SYM(i_object_nl), rb_str_new(state->object_nl, state->object_nl_len)); + rb_hash_aset(result, ID2SYM(i_array_nl), rb_str_new(state->array_nl, state->array_nl_len)); + rb_hash_aset(result, ID2SYM(i_allow_nan), state->allow_nan ? Qtrue : Qfalse); + rb_hash_aset(result, ID2SYM(i_ascii_only), state->ascii_only ? Qtrue : Qfalse); + rb_hash_aset(result, ID2SYM(i_quirks_mode), state->quirks_mode ? Qtrue : Qfalse); + rb_hash_aset(result, ID2SYM(i_max_nesting), LONG2FIX(state->max_nesting)); + rb_hash_aset(result, ID2SYM(i_depth), LONG2FIX(state->depth)); + rb_hash_aset(result, ID2SYM(i_buffer_initial_length), LONG2FIX(state->buffer_initial_length)); + return result; +}</pre> + </div> + </div> + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Ext/Parser.html b/doc/classes/JSON/Ext/Parser.html new file mode 100644 index 0000000..58bc5f7 --- /dev/null +++ b/doc/classes/JSON/Ext/Parser.html @@ -0,0 +1,416 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + <title>JSON::Ext::Parser</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <link rel="stylesheet" href="../../../css/reset.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../css/main.css" type="text/css" media="screen" /> +<link rel="stylesheet" href="../../../css/github.css" type="text/css" media="screen" /> +<script src="../../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../js/main.js" type="text/javascript" charset="utf-8"></script> +<script src="../../../js/highlight.pack.js" type="text/javascript" charset="utf-8"></script> + +</head> + +<body> + <div class="banner"> + + <h1> + <span class="type">Class</span> + JSON::Ext::Parser + + <span class="parent">< + + Object + + </span> + + </h1> + <ul class="files"> + + <li><a href="../../../files/ext/json/ext/parser/parser_c.html">ext/json/ext/parser/parser.c</a></li> + + </ul> + </div> + <div id="bodyContent"> + <div id="content"> + + <div class="description"> + +<p>This is the <a href="../../JSON.html">JSON</a> parser implemented as a C +extension. It can be configured to be used by setting</p> + +<pre>JSON.parser = JSON::Ext::Parser</pre> + +<p>with the method parser= in <a href="../../JSON.html">JSON</a>.</p> + + </div> + + + + + + + + + + + + + + + <!-- Method ref --> + <div class="sectiontitle">Methods</div> + <dl class="methods"> + + <dt>N</dt> + <dd> + <ul> + + + <li> + <a href="#method-c-new">new</a> + </li> + + </ul> + </dd> + + <dt>P</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-parse">parse</a> + </li> + + </ul> + </dd> + + <dt>Q</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-quirks_mode-3F">quirks_mode?</a> + </li> + + </ul> + </dd> + + <dt>S</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-source">source</a> + </li> + + </ul> + </dd> + + </dl> + + + + + + + + + + + + + + + + + + + <!-- Methods --> + + <div class="sectiontitle">Class Public methods</div> + + <div class="method"> + <div class="title method-title" id="method-c-new"> + + <a name="method-c-new"></a><b>new(source, opts => {}) +</b> + + </div> + + + <div class="description"> + <p>Creates a new <a href="Parser.html">JSON::Ext::Parser</a> instance for the +string <em>source</em>.</p> + +<p>Creates a new <a href="Parser.html">JSON::Ext::Parser</a> instance for the +string <em>source</em>.</p> + +<p>It will be configured by the <em>opts</em> hash. <em>opts</em> can have the +following keys:</p> + +<p><em>opts</em> can have the following keys:</p> +<ul><li> +<p><strong>max_nesting</strong>: The maximum depth of nesting allowed in the +parsed data structures. Disable depth checking with :max_nesting => +false|nil|0, it defaults to 19.</p> +</li><li> +<p><strong>allow_nan</strong>: If set to true, allow NaN, Infinity and +-Infinity in defiance of RFC 4627 to be parsed by the <a +href="Parser.html">Parser</a>. This option defaults to false.</p> +</li><li> +<p><strong>symbolize_names</strong>: If set to true, returns symbols for the +names (keys) in a <a href="../../JSON.html">JSON</a> object. Otherwise +strings are returned, which is also the default.</p> +</li><li> +<p><strong>create_additions</strong>: If set to false, the <a +href="Parser.html">Parser</a> doesn't create additions even if a matchin +class and create_id was found. This option defaults to true.</p> +</li><li> +<p><strong>object_class</strong>: Defaults to Hash</p> +</li><li> +<p><strong>array_class</strong>: Defaults to Array</p> +</li></ul> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-c-new_source')" id="l_method-c-new_source">show</a> + + </p> + <div id="method-c-new_source" class="dyn-source"> + <pre>static VALUE cParser_initialize(int argc, VALUE *argv, VALUE self) +{ + VALUE source, opts; + GET_PARSER_INIT; + + if (json->Vsource) { + rb_raise(rb_eTypeError, "already initialized instance"); + } + rb_scan_args(argc, argv, "11", &source, &opts); + if (!NIL_P(opts)) { + opts = rb_convert_type(opts, T_HASH, "Hash", "to_hash"); + if (NIL_P(opts)) { + rb_raise(rb_eArgError, "opts needs to be like a hash"); + } else { + VALUE tmp = ID2SYM(i_max_nesting); + if (option_given_p(opts, tmp)) { + VALUE max_nesting = rb_hash_aref(opts, tmp); + if (RTEST(max_nesting)) { + Check_Type(max_nesting, T_FIXNUM); + json->max_nesting = FIX2INT(max_nesting); + } else { + json->max_nesting = 0; + } + } else { + json->max_nesting = 19; + } + tmp = ID2SYM(i_allow_nan); + if (option_given_p(opts, tmp)) { + json->allow_nan = RTEST(rb_hash_aref(opts, tmp)) ? 1 : 0; + } else { + json->allow_nan = 0; + } + tmp = ID2SYM(i_symbolize_names); + if (option_given_p(opts, tmp)) { + json->symbolize_names = RTEST(rb_hash_aref(opts, tmp)) ? 1 : 0; + } else { + json->symbolize_names = 0; + } + tmp = ID2SYM(i_quirks_mode); + if (option_given_p(opts, tmp)) { + VALUE quirks_mode = rb_hash_aref(opts, tmp); + json->quirks_mode = RTEST(quirks_mode) ? 1 : 0; + } else { + json->quirks_mode = 0; + } + tmp = ID2SYM(i_create_additions); + if (option_given_p(opts, tmp)) { + json->create_additions = RTEST(rb_hash_aref(opts, tmp)); + } else { + json->create_additions = 1; + } + tmp = ID2SYM(i_create_id); + if (option_given_p(opts, tmp)) { + json->create_id = rb_hash_aref(opts, tmp); + } else { + json->create_id = rb_funcall(mJSON, i_create_id, 0); + } + tmp = ID2SYM(i_object_class); + if (option_given_p(opts, tmp)) { + json->object_class = rb_hash_aref(opts, tmp); + } else { + json->object_class = Qnil; + } + tmp = ID2SYM(i_array_class); + if (option_given_p(opts, tmp)) { + json->array_class = rb_hash_aref(opts, tmp); + } else { + json->array_class = Qnil; + } + tmp = ID2SYM(i_match_string); + if (option_given_p(opts, tmp)) { + VALUE match_string = rb_hash_aref(opts, tmp); + json->match_string = RTEST(match_string) ? match_string : Qnil; + } else { + json->match_string = Qnil; + } + } + } else { + json->max_nesting = 19; + json->allow_nan = 0; + json->create_additions = 1; + json->create_id = rb_funcall(mJSON, i_create_id, 0); + json->object_class = Qnil; + json->array_class = Qnil; + } + source = rb_convert_type(source, T_STRING, "String", "to_str"); + if (!json->quirks_mode) { + source = convert_encoding(StringValue(source)); + } + json->current_nesting = 0; + StringValue(source); + json->len = RSTRING_LEN(source); + json->source = RSTRING_PTR(source);; + json->Vsource = source; + return self; +}</pre> + </div> + </div> + + </div> + + <div class="sectiontitle">Instance Public methods</div> + + <div class="method"> + <div class="title method-title" id="method-i-parse"> + + <a name="method-i-parse"></a><b>parse() +</b> + + </div> + + + <div class="description"> + <p>Parses the current <a href="../../JSON.html">JSON</a> text <em>source</em> +and returns the complete data structure as a result.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-parse_source')" id="l_method-i-parse_source">show</a> + + </p> + <div id="method-i-parse_source" class="dyn-source"> + <pre>static VALUE cParser_parse(VALUE self) +{ + GET_PARSER; + + if (json->quirks_mode) { + return cParser_parse_quirks_mode(self); + } else { + return cParser_parse_strict(self); + } +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-quirks_mode-3F"> + + <a name="method-i-quirks_mode-3F"></a><b>quirks_mode?() +</b> + + </div> + + + <div class="description"> + <p>Returns a true, if this parser is in quirks_mode, false otherwise.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-quirks_mode-3F_source')" id="l_method-i-quirks_mode-3F_source">show</a> + + </p> + <div id="method-i-quirks_mode-3F_source" class="dyn-source"> + <pre>static VALUE cParser_quirks_mode_p(VALUE self) +{ + GET_PARSER; + return json->quirks_mode ? Qtrue : Qfalse; +}</pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-source"> + + <a name="method-i-source"></a><b>source() +</b> + + </div> + + + <div class="description"> + <p>Returns a copy of the current <em>source</em> string, that was used to +construct this <a href="Parser.html">Parser</a>.</p> + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-source_source')" id="l_method-i-source_source">show</a> + + </p> + <div id="method-i-source_source" class="dyn-source"> + <pre>static VALUE cParser_source(VALUE self) +{ + GET_PARSER; + return rb_str_dup(json->Vsource); +}</pre> + </div> + </div> + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file |