diff options
author | Florian Frank <flori@ping.de> | 2012-04-27 14:25:43 +0200 |
---|---|---|
committer | Florian Frank <flori@ping.de> | 2012-04-27 14:25:43 +0200 |
commit | e72889cb74be6b0b95c05412699e19e669b92bf3 (patch) | |
tree | f6053efc15275d1667424a103ea30780eb9f46d1 /doc/classes/JSON/Pure | |
parent | b18170a1c3bbdccf198477e79e1be5a30481364b (diff) | |
download | json-e72889cb74be6b0b95c05412699e19e669b92bf3.tar.gz |
generated documentation
Diffstat (limited to 'doc/classes/JSON/Pure')
14 files changed, 3002 insertions, 0 deletions
diff --git a/doc/classes/JSON/Pure/Generator.html b/doc/classes/JSON/Pure/Generator.html new file mode 100644 index 0000000..b5d373b --- /dev/null +++ b/doc/classes/JSON/Pure/Generator.html @@ -0,0 +1,85 @@ +<?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::Pure::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::Pure::Generator + + </h1> + <ul class="files"> + + <li><a href="../../../files/lib/json/pure/generator_rb.html">lib/json/pure/generator.rb</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="Generator/GeneratorMethods.html">JSON::Pure::Generator::GeneratorMethods</a> + </li> + + <li> + <span class="type">CLASS</span> + <a href="Generator/State.html">JSON::Pure::Generator::State</a> + </li> + + </ul> + + + + + + + + + + + + + + + + + + + + + + <!-- Methods --> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Pure/Generator/GeneratorMethods.html b/doc/classes/JSON/Pure/Generator/GeneratorMethods.html new file mode 100644 index 0000000..2e09ad8 --- /dev/null +++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods.html @@ -0,0 +1,120 @@ +<?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::Pure::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::Pure::Generator::GeneratorMethods + + </h1> + <ul class="files"> + + <li><a href="../../../../files/lib/json/pure/generator_rb.html">lib/json/pure/generator.rb</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::Pure::Generator::GeneratorMethods::Array</a> + </li> + + <li> + <span class="type">MODULE</span> + <a href="GeneratorMethods/FalseClass.html">JSON::Pure::Generator::GeneratorMethods::FalseClass</a> + </li> + + <li> + <span class="type">MODULE</span> + <a href="GeneratorMethods/Float.html">JSON::Pure::Generator::GeneratorMethods::Float</a> + </li> + + <li> + <span class="type">MODULE</span> + <a href="GeneratorMethods/Hash.html">JSON::Pure::Generator::GeneratorMethods::Hash</a> + </li> + + <li> + <span class="type">MODULE</span> + <a href="GeneratorMethods/Integer.html">JSON::Pure::Generator::GeneratorMethods::Integer</a> + </li> + + <li> + <span class="type">MODULE</span> + <a href="GeneratorMethods/NilClass.html">JSON::Pure::Generator::GeneratorMethods::NilClass</a> + </li> + + <li> + <span class="type">MODULE</span> + <a href="GeneratorMethods/Object.html">JSON::Pure::Generator::GeneratorMethods::Object</a> + </li> + + <li> + <span class="type">MODULE</span> + <a href="GeneratorMethods/String.html">JSON::Pure::Generator::GeneratorMethods::String</a> + </li> + + <li> + <span class="type">MODULE</span> + <a href="GeneratorMethods/TrueClass.html">JSON::Pure::Generator::GeneratorMethods::TrueClass</a> + </li> + + </ul> + + + + + + + + + + + + + + + + + + + + + + <!-- Methods --> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Pure/Generator/GeneratorMethods/Array.html b/doc/classes/JSON/Pure/Generator/GeneratorMethods/Array.html new file mode 100644 index 0000000..3ebf116 --- /dev/null +++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/Array.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::Pure::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::Pure::Generator::GeneratorMethods::Array + + </h1> + <ul class="files"> + + <li><a href="../../../../../files/lib/json/pure/generator_rb.html">lib/json/pure/generator.rb</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>(state = nil, *) + + </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 unparsed 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><span class="ruby-comment"># File lib/json/pure/generator.rb, line 332</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">to_json</span>(<span class="ruby-identifier">state</span> = <span class="ruby-keyword">nil</span>, *) + <span class="ruby-identifier">state</span> = <span class="ruby-constant">State</span>.<span class="ruby-identifier">from_state</span>(<span class="ruby-identifier">state</span>) + <span class="ruby-identifier">state</span>.<span class="ruby-identifier">check_max_nesting</span> + <span class="ruby-identifier">json_transform</span>(<span class="ruby-identifier">state</span>) +<span class="ruby-keyword">end</span></pre> + </div> + </div> + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Pure/Generator/GeneratorMethods/FalseClass.html b/doc/classes/JSON/Pure/Generator/GeneratorMethods/FalseClass.html new file mode 100644 index 0000000..bec78de --- /dev/null +++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/FalseClass.html @@ -0,0 +1,122 @@ +<?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::Pure::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::Pure::Generator::GeneratorMethods::FalseClass + + </h1> + <ul class="files"> + + <li><a href="../../../../../files/lib/json/pure/generator_rb.html">lib/json/pure/generator.rb</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><span class="ruby-comment"># File lib/json/pure/generator.rb, line 462</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">to_json</span>(*) <span class="ruby-string">'false'</span> <span class="ruby-keyword">end</span></pre> + </div> + </div> + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Pure/Generator/GeneratorMethods/Float.html b/doc/classes/JSON/Pure/Generator/GeneratorMethods/Float.html new file mode 100644 index 0000000..96144e8 --- /dev/null +++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/Float.html @@ -0,0 +1,140 @@ +<?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::Pure::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::Pure::Generator::GeneratorMethods::Float + + </h1> + <ul class="files"> + + <li><a href="../../../../../files/lib/json/pure/generator_rb.html">lib/json/pure/generator.rb</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>(state = nil, *) + + </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><span class="ruby-comment"># File lib/json/pure/generator.rb, line 368</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">to_json</span>(<span class="ruby-identifier">state</span> = <span class="ruby-keyword">nil</span>, *) + <span class="ruby-identifier">state</span> = <span class="ruby-constant">State</span>.<span class="ruby-identifier">from_state</span>(<span class="ruby-identifier">state</span>) + <span class="ruby-keyword">case</span> + <span class="ruby-keyword">when</span> <span class="ruby-identifier">infinite?</span> + <span class="ruby-keyword">if</span> <span class="ruby-identifier">state</span>.<span class="ruby-identifier">allow_nan?</span> + <span class="ruby-identifier">to_s</span> + <span class="ruby-keyword">else</span> + <span class="ruby-identifier">raise</span> <span class="ruby-constant">GeneratorError</span>, <span class="ruby-node">"#{self} not allowed in JSON"</span> + <span class="ruby-keyword">end</span> + <span class="ruby-keyword">when</span> <span class="ruby-identifier">nan?</span> + <span class="ruby-keyword">if</span> <span class="ruby-identifier">state</span>.<span class="ruby-identifier">allow_nan?</span> + <span class="ruby-identifier">to_s</span> + <span class="ruby-keyword">else</span> + <span class="ruby-identifier">raise</span> <span class="ruby-constant">GeneratorError</span>, <span class="ruby-node">"#{self} not allowed in JSON"</span> + <span class="ruby-keyword">end</span> + <span class="ruby-keyword">else</span> + <span class="ruby-identifier">to_s</span> + <span class="ruby-keyword">end</span> +<span class="ruby-keyword">end</span></pre> + </div> + </div> + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Pure/Generator/GeneratorMethods/Hash.html b/doc/classes/JSON/Pure/Generator/GeneratorMethods/Hash.html new file mode 100644 index 0000000..0167add --- /dev/null +++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/Hash.html @@ -0,0 +1,130 @@ +<?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::Pure::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::Pure::Generator::GeneratorMethods::Hash + + </h1> + <ul class="files"> + + <li><a href="../../../../../files/lib/json/pure/generator_rb.html">lib/json/pure/generator.rb</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>(state = nil, *) + + </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 unparsed 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. <em>depth</em> +is used to find out nesting depth, to indent accordingly.</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><span class="ruby-comment"># File lib/json/pure/generator.rb, line 288</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">to_json</span>(<span class="ruby-identifier">state</span> = <span class="ruby-keyword">nil</span>, *) + <span class="ruby-identifier">state</span> = <span class="ruby-constant">State</span>.<span class="ruby-identifier">from_state</span>(<span class="ruby-identifier">state</span>) + <span class="ruby-identifier">state</span>.<span class="ruby-identifier">check_max_nesting</span> + <span class="ruby-identifier">json_transform</span>(<span class="ruby-identifier">state</span>) +<span class="ruby-keyword">end</span></pre> + </div> + </div> + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Pure/Generator/GeneratorMethods/Integer.html b/doc/classes/JSON/Pure/Generator/GeneratorMethods/Integer.html new file mode 100644 index 0000000..c847c8c --- /dev/null +++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/Integer.html @@ -0,0 +1,122 @@ +<?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::Pure::Generator::GeneratorMethods::Integer</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::Pure::Generator::GeneratorMethods::Integer + + </h1> + <ul class="files"> + + <li><a href="../../../../../files/lib/json/pure/generator_rb.html">lib/json/pure/generator.rb</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="Integer.html">Integer</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><span class="ruby-comment"># File lib/json/pure/generator.rb, line 363</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">to_json</span>(*) <span class="ruby-identifier">to_s</span> <span class="ruby-keyword">end</span></pre> + </div> + </div> + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Pure/Generator/GeneratorMethods/NilClass.html b/doc/classes/JSON/Pure/Generator/GeneratorMethods/NilClass.html new file mode 100644 index 0000000..a9716a2 --- /dev/null +++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/NilClass.html @@ -0,0 +1,121 @@ +<?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::Pure::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::Pure::Generator::GeneratorMethods::NilClass + + </h1> + <ul class="files"> + + <li><a href="../../../../../files/lib/json/pure/generator_rb.html">lib/json/pure/generator.rb</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><span class="ruby-comment"># File lib/json/pure/generator.rb, line 467</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">to_json</span>(*) <span class="ruby-string">'null'</span> <span class="ruby-keyword">end</span></pre> + </div> + </div> + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Pure/Generator/GeneratorMethods/Object.html b/doc/classes/JSON/Pure/Generator/GeneratorMethods/Object.html new file mode 100644 index 0000000..edb4d0f --- /dev/null +++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/Object.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::Pure::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::Pure::Generator::GeneratorMethods::Object + + </h1> + <ul class="files"> + + <li><a href="../../../../../files/lib/json/pure/generator_rb.html">lib/json/pure/generator.rb</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><span class="ruby-comment"># File lib/json/pure/generator.rb, line 279</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">to_json</span>(*) <span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">to_json</span> <span class="ruby-keyword">end</span></pre> + </div> + </div> + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Pure/Generator/GeneratorMethods/String.html b/doc/classes/JSON/Pure/Generator/GeneratorMethods/String.html new file mode 100644 index 0000000..9dba782 --- /dev/null +++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/String.html @@ -0,0 +1,283 @@ +<?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::Pure::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::Pure::Generator::GeneratorMethods::String + + </h1> + <ul class="files"> + + <li><a href="../../../../../files/lib/json/pure/generator_rb.html">lib/json/pure/generator.rb</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::Pure::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>included</b>(modul) + + </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><span class="ruby-comment"># File lib/json/pure/generator.rb, line 433</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">self</span>.<span class="ruby-identifier">included</span>(<span class="ruby-identifier">modul</span>) + <span class="ruby-identifier">modul</span>.<span class="ruby-identifier">extend</span> <span class="ruby-constant">Extend</span> +<span class="ruby-keyword">end</span></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>(state = nil, *args) + + </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><span class="ruby-comment"># File lib/json/pure/generator.rb, line 394</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">to_json</span>(<span class="ruby-identifier">state</span> = <span class="ruby-keyword">nil</span>, *<span class="ruby-identifier">args</span>) + <span class="ruby-identifier">state</span> = <span class="ruby-constant">State</span>.<span class="ruby-identifier">from_state</span>(<span class="ruby-identifier">state</span>) + <span class="ruby-keyword">if</span> <span class="ruby-identifier">encoding</span> <span class="ruby-operator">==</span> <span class="ruby-operator">::</span><span class="ruby-constant">Encoding</span><span class="ruby-operator">::</span><span class="ruby-constant">UTF_8</span> + <span class="ruby-identifier">string</span> = <span class="ruby-keyword">self</span> + <span class="ruby-keyword">else</span> + <span class="ruby-identifier">string</span> = <span class="ruby-identifier">encode</span>(<span class="ruby-operator">::</span><span class="ruby-constant">Encoding</span><span class="ruby-operator">::</span><span class="ruby-constant">UTF_8</span>) + <span class="ruby-keyword">end</span> + <span class="ruby-keyword">if</span> <span class="ruby-identifier">state</span>.<span class="ruby-identifier">ascii_only?</span> + <span class="ruby-string">'"'</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">utf8_to_json_ascii</span>(<span class="ruby-identifier">string</span>) <span class="ruby-operator"><<</span> <span class="ruby-string">'"'</span> + <span class="ruby-keyword">else</span> + <span class="ruby-string">'"'</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">utf8_to_json</span>(<span class="ruby-identifier">string</span>) <span class="ruby-operator"><<</span> <span class="ruby-string">'"'</span> + <span class="ruby-keyword">end</span> +<span class="ruby-keyword">end</span></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</b>(*args) + + </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><span class="ruby-comment"># File lib/json/pure/generator.rb, line 450</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">to_json_raw</span>(*<span class="ruby-identifier">args</span>) + <span class="ruby-identifier">to_json_raw_object</span>.<span class="ruby-identifier">to_json</span>(*<span class="ruby-identifier">args</span>) +<span class="ruby-keyword">end</span></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 unparsed 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><span class="ruby-comment"># File lib/json/pure/generator.rb, line 441</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">to_json_raw_object</span> + { + <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">create_id</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">name</span>, + <span class="ruby-string">'raw'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-string">'C*'</span>), + } +<span class="ruby-keyword">end</span></pre> + </div> + </div> + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Pure/Generator/GeneratorMethods/String/Extend.html b/doc/classes/JSON/Pure/Generator/GeneratorMethods/String/Extend.html new file mode 100644 index 0000000..24e8a88 --- /dev/null +++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/String/Extend.html @@ -0,0 +1,132 @@ +<?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::Pure::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::Pure::Generator::GeneratorMethods::String::Extend + + </h1> + <ul class="files"> + + <li><a href="../../../../../../files/lib/json/pure/generator_rb.html">lib/json/pure/generator.rb</a></li> + + </ul> + </div> + <div id="bodyContent"> + <div id="content"> + + <div class="description"> + +<p>Module that holds the extinding methods if, the <a +href="../String.html">String</a> module is included.</p> + + </div> + + + + + + + + + + + + + + + <!-- 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</b>(o) + + </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><span class="ruby-comment"># File lib/json/pure/generator.rb, line 427</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">json_create</span>(<span class="ruby-identifier">o</span>) + <span class="ruby-identifier">o</span>[<span class="ruby-string">'raw'</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">'C*'</span>) +<span class="ruby-keyword">end</span></pre> + </div> + </div> + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Pure/Generator/GeneratorMethods/TrueClass.html b/doc/classes/JSON/Pure/Generator/GeneratorMethods/TrueClass.html new file mode 100644 index 0000000..c949d68 --- /dev/null +++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/TrueClass.html @@ -0,0 +1,121 @@ +<?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::Pure::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::Pure::Generator::GeneratorMethods::TrueClass + + </h1> + <ul class="files"> + + <li><a href="../../../../../files/lib/json/pure/generator_rb.html">lib/json/pure/generator.rb</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><span class="ruby-comment"># File lib/json/pure/generator.rb, line 457</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">to_json</span>(*) <span class="ruby-string">'true'</span> <span class="ruby-keyword">end</span></pre> + </div> + </div> + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Pure/Generator/State.html b/doc/classes/JSON/Pure/Generator/State.html new file mode 100644 index 0000000..0fc38b3 --- /dev/null +++ b/doc/classes/JSON/Pure/Generator/State.html @@ -0,0 +1,752 @@ +<?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::Pure::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::Pure::Generator::State + + <span class="parent">< + + Object + + </span> + + </h1> + <ul class="files"> + + <li><a href="../../../../files/lib/json/pure/generator_rb.html">lib/json/pure/generator.rb</a></li> + + </ul> + </div> + <div id="bodyContent"> + <div id="content"> + + <div class="description"> + +<p>This class is used to create <a href="State.html">State</a> instances, that +are use to hold data while generating a <a +href="../../../JSON.html">JSON</a> text from a Ruby data structure.</p> + + </div> + + + + + + + + + + + + + + + <!-- 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-ascii_only-3F">ascii_only?</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>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>M</dt> + <dd> + <ul> + + + <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>Q</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-quirks_mode-3F">quirks_mode?</a> + </li> + + </ul> + </dd> + + <dt>T</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-to_h">to_h</a> + </li> + + </ul> + </dd> + + </dl> + + + + + + + + + + + + + + + + + <!-- Section attributes --> + <div class="sectiontitle">Attributes</div> + <table border='0' cellpadding='5'> + + <tr valign='top'> + <td class='attr-rw'> + [RW] + </td> + <td class='attr-name'>array_nl</td> + <td class='attr-desc'><p>This string is put at the end of a line that holds a <a +href="../../../JSON.html">JSON</a> array.</p></td> + </tr> + + <tr valign='top'> + <td class='attr-rw'> + [RW] + </td> + <td class='attr-name'>depth</td> + <td class='attr-desc'><p>This integer returns the current depth data structure nesting in the +generated <a href="../../../JSON.html">JSON</a>.</p></td> + </tr> + + <tr valign='top'> + <td class='attr-rw'> + [RW] + </td> + <td class='attr-name'>indent</td> + <td class='attr-desc'><p>This string is used to indent levels in the <a +href="../../../JSON.html">JSON</a> text.</p></td> + </tr> + + <tr valign='top'> + <td class='attr-rw'> + [RW] + </td> + <td class='attr-name'>max_nesting</td> + <td class='attr-desc'><p>This integer returns the maximum level of data structure nesting in the +generated <a href="../../../JSON.html">JSON</a>, <a +href="State.html#attribute-i-max_nesting">#max_nesting</a> = 0 if no +maximum is checked.</p></td> + </tr> + + <tr valign='top'> + <td class='attr-rw'> + [RW] + </td> + <td class='attr-name'>object_nl</td> + <td class='attr-desc'><p>This string is put at the end of a line that holds a <a +href="../../../JSON.html">JSON</a> object (or Hash).</p></td> + </tr> + + <tr valign='top'> + <td class='attr-rw'> + [RW] + </td> + <td class='attr-name'>quirks_mode</td> + <td class='attr-desc'><p>If this attribute is set to true, quirks mode is enabled, otherwise it’s +disabled.</p></td> + </tr> + + <tr valign='top'> + <td class='attr-rw'> + [RW] + </td> + <td class='attr-name'>space</td> + <td class='attr-desc'><p>This string is used to insert a space between the tokens in a <a +href="../../../JSON.html">JSON</a> string.</p></td> + </tr> + + <tr valign='top'> + <td class='attr-rw'> + [RW] + </td> + <td class='attr-name'>space_before</td> + <td class='attr-desc'><p>This string is used to insert a space before the ‘:’ in <a +href="../../../JSON.html">JSON</a> objects.</p></td> + </tr> + + </table> + + + + <!-- 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</b>(opts) + + </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><span class="ruby-comment"># File lib/json/pure/generator.rb, line 108</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">self</span>.<span class="ruby-identifier">from_state</span>(<span class="ruby-identifier">opts</span>) + <span class="ruby-keyword">case</span> + <span class="ruby-keyword">when</span> <span class="ruby-keyword">self</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">opts</span> + <span class="ruby-identifier">opts</span> + <span class="ruby-keyword">when</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:to_hash</span>) + <span class="ruby-identifier">new</span>(<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">to_hash</span>) + <span class="ruby-keyword">when</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:to_h</span>) + <span class="ruby-identifier">new</span>(<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">to_h</span>) + <span class="ruby-keyword">else</span> + <span class="ruby-constant">SAFE_STATE_PROTOTYPE</span>.<span class="ruby-identifier">dup</span> + <span class="ruby-keyword">end</span> +<span class="ruby-keyword">end</span></pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-c-new"> + + <a name="method-c-new"></a><b>new</b>(opts = {}) + + </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#attribute-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#attribute-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#attribute-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>check_circular</strong>: is deprecated now, use the :<a +href="State.html#attribute-i-max_nesting">#max_nesting</a> option instead,</p> +</li><li> +<p><strong><a +href="State.html#attribute-i-max_nesting">#max_nesting</a></strong>: sets +the maximum level of data structure nesting in the generated <a +href="../../../JSON.html">JSON</a>, <a +href="State.html#attribute-i-max_nesting">#max_nesting</a> = 0 if no +maximum should be checked.</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#attribute-i-quirks_mode">#quirks_mode</a></strong>: +Enables <a href="State.html#attribute-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></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><span class="ruby-comment"># File lib/json/pure/generator.rb, line 138</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">initialize</span>(<span class="ruby-identifier">opts</span> = {}) + <span class="ruby-ivar">@indent</span> = <span class="ruby-string">''</span> + <span class="ruby-ivar">@space</span> = <span class="ruby-string">''</span> + <span class="ruby-ivar">@space_before</span> = <span class="ruby-string">''</span> + <span class="ruby-ivar">@object_nl</span> = <span class="ruby-string">''</span> + <span class="ruby-ivar">@array_nl</span> = <span class="ruby-string">''</span> + <span class="ruby-ivar">@allow_nan</span> = <span class="ruby-keyword">false</span> + <span class="ruby-ivar">@ascii_only</span> = <span class="ruby-keyword">false</span> + <span class="ruby-ivar">@quirks_mode</span> = <span class="ruby-keyword">false</span> + <span class="ruby-ivar">@buffer_initial_length</span> = <span class="ruby-number">1024</span> + <span class="ruby-identifier">configure</span> <span class="ruby-identifier">opts</span> +<span class="ruby-keyword">end</span></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>[]</b>(name) + + </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><span class="ruby-comment"># File lib/json/pure/generator.rb, line 269</span> +<span class="ruby-keyword">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-keyword ruby-title">name</span>) + <span class="ruby-identifier">__send__</span> <span class="ruby-identifier">name</span> +<span class="ruby-keyword">end</span></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 considered as valid +<a href="../../../JSON.html">JSON</a> and output.</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><span class="ruby-comment"># File lib/json/pure/generator.rb, line 205</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">allow_nan?</span> + <span class="ruby-ivar">@allow_nan</span> +<span class="ruby-keyword">end</span></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 only ASCII characters 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><span class="ruby-comment"># File lib/json/pure/generator.rb, line 211</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">ascii_only?</span> + <span class="ruby-ivar">@ascii_only</span> +<span class="ruby-keyword">end</span></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 are 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><span class="ruby-comment"># File lib/json/pure/generator.rb, line 199</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">check_circular?</span> + <span class="ruby-operator">!</span><span class="ruby-ivar">@max_nesting</span>.<span class="ruby-identifier">zero?</span> +<span class="ruby-keyword">end</span></pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-configure"> + + <a name="method-i-configure"></a><b>configure</b>(opts) + + </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><span class="ruby-comment"># File lib/json/pure/generator.rb, line 222</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">configure</span>(<span class="ruby-identifier">opts</span>) + <span class="ruby-ivar">@indent</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-value">:indent</span>] <span class="ruby-keyword">if</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-value">:indent</span>) + <span class="ruby-ivar">@space</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-value">:space</span>] <span class="ruby-keyword">if</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-value">:space</span>) + <span class="ruby-ivar">@space_before</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-value">:space_before</span>] <span class="ruby-keyword">if</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-value">:space_before</span>) + <span class="ruby-ivar">@object_nl</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-value">:object_nl</span>] <span class="ruby-keyword">if</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-value">:object_nl</span>) + <span class="ruby-ivar">@array_nl</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-value">:array_nl</span>] <span class="ruby-keyword">if</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-value">:array_nl</span>) + <span class="ruby-ivar">@allow_nan</span> = <span class="ruby-operator">!</span><span class="ruby-operator">!</span><span class="ruby-identifier">opts</span>[<span class="ruby-value">:allow_nan</span>] <span class="ruby-keyword">if</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-value">:allow_nan</span>) + <span class="ruby-ivar">@ascii_only</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-value">:ascii_only</span>] <span class="ruby-keyword">if</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-value">:ascii_only</span>) + <span class="ruby-ivar">@depth</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-value">:depth</span>] <span class="ruby-operator">||</span> <span class="ruby-number">0</span> + <span class="ruby-ivar">@quirks_mode</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-value">:quirks_mode</span>] <span class="ruby-keyword">if</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-value">:quirks_mode</span>) + <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">opts</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-value">:max_nesting</span>) <span class="ruby-comment"># defaults to 19</span> + <span class="ruby-ivar">@max_nesting</span> = <span class="ruby-number">19</span> + <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:max_nesting</span>] + <span class="ruby-ivar">@max_nesting</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-value">:max_nesting</span>] + <span class="ruby-keyword">else</span> + <span class="ruby-ivar">@max_nesting</span> = <span class="ruby-number">0</span> + <span class="ruby-keyword">end</span> + <span class="ruby-keyword">self</span> +<span class="ruby-keyword">end</span></pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-generate"> + + <a name="method-i-generate"></a><b>generate</b>(obj) + + </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><span class="ruby-comment"># File lib/json/pure/generator.rb, line 256</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">generate</span>(<span class="ruby-identifier">obj</span>) + <span class="ruby-identifier">result</span> = <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">to_json</span>(<span class="ruby-keyword">self</span>) + <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@quirks_mode</span> + <span class="ruby-keyword">unless</span> <span class="ruby-identifier">result</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%r\A\s*\[/</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">result</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%r\]\s*\Z/</span> <span class="ruby-operator">||</span> + <span class="ruby-identifier">result</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%r\A\s*\{/</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">result</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%r\}\s*\Z/</span> + <span class="ruby-keyword">then</span> + <span class="ruby-identifier">raise</span> <span class="ruby-constant">GeneratorError</span>, <span class="ruby-string">"only generation of JSON objects or arrays allowed"</span> + <span class="ruby-keyword">end</span> + <span class="ruby-keyword">end</span> + <span class="ruby-identifier">result</span> +<span class="ruby-keyword">end</span></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>(opts) + + </div> + + + <div class="description"> + + </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><span class="ruby-comment"># File lib/json/pure/generator.rb, line 216</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">quirks_mode?</span> + <span class="ruby-ivar">@quirks_mode</span> +<span class="ruby-keyword">end</span></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><span class="ruby-comment"># File lib/json/pure/generator.rb, line 245</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">to_h</span> + <span class="ruby-identifier">result</span> = {} + <span class="ruby-keyword">for</span> <span class="ruby-identifier">iv</span> <span class="ruby-keyword">in</span> <span class="ruby-node">%w[indent space space_before object_nl array_nl allow_nan max_nesting ascii_only quirks_mode buffer_initial_length depth]</span> + <span class="ruby-identifier">result</span>[<span class="ruby-identifier">iv</span>.<span class="ruby-identifier">intern</span>] = <span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-node">"@#{iv}"</span>) + <span class="ruby-keyword">end</span> + <span class="ruby-identifier">result</span> +<span class="ruby-keyword">end</span></pre> + </div> + </div> + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/doc/classes/JSON/Pure/Parser.html b/doc/classes/JSON/Pure/Parser.html new file mode 100644 index 0000000..93c5ea4 --- /dev/null +++ b/doc/classes/JSON/Pure/Parser.html @@ -0,0 +1,620 @@ +<?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::Pure::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::Pure::Parser + + <span class="parent">< + + StringScanner + + </span> + + </h1> + <ul class="files"> + + <li><a href="../../../files/lib/json/pure/parser_rb.html">lib/json/pure/parser.rb</a></li> + + </ul> + </div> + <div id="bodyContent"> + <div id="content"> + + <div class="description"> + +<p>This class implements the <a href="../../JSON.html">JSON</a> parser that is +used to parse a <a href="../../JSON.html">JSON</a> string into a Ruby data +structure.</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>R</dt> + <dd> + <ul> + + + <li> + <a href="#method-i-reset">reset</a> + </li> + + </ul> + </dd> + + </dl> + + + + + + + + + + + + + + <!-- Section constants --> + <div class="sectiontitle">Constants</div> + <table border='0' cellpadding='5'> + + <tr valign='top'> + <td class="attr-name">STRING</td> + <td>=</td> + <td class="attr-value">/" ((?:[^\x0-\x1f"\\] | +# escaped special characters: +\\["\\\/bfnrt] | +\\u[0-9a-fA-F]{4} | +# match all but escaped special characters: +\\[\x20-\x21\x23-\x2e\x30-\x5b\x5d-\x61\x63-\x65\x67-\x6d\x6f-\x71\x73\x75-\xff])*) +"/nx</td> + </tr> + + <tr valign='top'> + <td> </td> + <td colspan="2" class="attr-desc"></td> + </tr> + + + <tr valign='top'> + <td class="attr-name">INTEGER</td> + <td>=</td> + <td class="attr-value">/(-?0|-?[1-9]\d*)/</td> + </tr> + + <tr valign='top'> + <td> </td> + <td colspan="2" class="attr-desc"></td> + </tr> + + + <tr valign='top'> + <td class="attr-name">FLOAT</td> + <td>=</td> + <td class="attr-value">/(-? +(?:0|[1-9]\d*) +(?: +\.\d+(?i:e[+-]?\d+) | +\.\d+ | +(?i:e[+-]?\d+) +) +)/x</td> + </tr> + + <tr valign='top'> + <td> </td> + <td colspan="2" class="attr-desc"></td> + </tr> + + + <tr valign='top'> + <td class="attr-name">NAN</td> + <td>=</td> + <td class="attr-value">/NaN/</td> + </tr> + + <tr valign='top'> + <td> </td> + <td colspan="2" class="attr-desc"></td> + </tr> + + + <tr valign='top'> + <td class="attr-name">INFINITY</td> + <td>=</td> + <td class="attr-value">/Infinity/</td> + </tr> + + <tr valign='top'> + <td> </td> + <td colspan="2" class="attr-desc"></td> + </tr> + + + <tr valign='top'> + <td class="attr-name">MINUS_INFINITY</td> + <td>=</td> + <td class="attr-value">/-Infinity/</td> + </tr> + + <tr valign='top'> + <td> </td> + <td colspan="2" class="attr-desc"></td> + </tr> + + + <tr valign='top'> + <td class="attr-name">OBJECT_OPEN</td> + <td>=</td> + <td class="attr-value">/\{/</td> + </tr> + + <tr valign='top'> + <td> </td> + <td colspan="2" class="attr-desc"></td> + </tr> + + + <tr valign='top'> + <td class="attr-name">OBJECT_CLOSE</td> + <td>=</td> + <td class="attr-value">/\}/</td> + </tr> + + <tr valign='top'> + <td> </td> + <td colspan="2" class="attr-desc"></td> + </tr> + + + <tr valign='top'> + <td class="attr-name">ARRAY_OPEN</td> + <td>=</td> + <td class="attr-value">/\[/</td> + </tr> + + <tr valign='top'> + <td> </td> + <td colspan="2" class="attr-desc"></td> + </tr> + + + <tr valign='top'> + <td class="attr-name">ARRAY_CLOSE</td> + <td>=</td> + <td class="attr-value">/\]/</td> + </tr> + + <tr valign='top'> + <td> </td> + <td colspan="2" class="attr-desc"></td> + </tr> + + + <tr valign='top'> + <td class="attr-name">PAIR_DELIMITER</td> + <td>=</td> + <td class="attr-value">/:/</td> + </tr> + + <tr valign='top'> + <td> </td> + <td colspan="2" class="attr-desc"></td> + </tr> + + + <tr valign='top'> + <td class="attr-name">COLLECTION_DELIMITER</td> + <td>=</td> + <td class="attr-value">/,/</td> + </tr> + + <tr valign='top'> + <td> </td> + <td colspan="2" class="attr-desc"></td> + </tr> + + + <tr valign='top'> + <td class="attr-name">TRUE</td> + <td>=</td> + <td class="attr-value">/true/</td> + </tr> + + <tr valign='top'> + <td> </td> + <td colspan="2" class="attr-desc"></td> + </tr> + + + <tr valign='top'> + <td class="attr-name">FALSE</td> + <td>=</td> + <td class="attr-value">/false/</td> + </tr> + + <tr valign='top'> + <td> </td> + <td colspan="2" class="attr-desc"></td> + </tr> + + + <tr valign='top'> + <td class="attr-name">NULL</td> + <td>=</td> + <td class="attr-value">/null/</td> + </tr> + + <tr valign='top'> + <td> </td> + <td colspan="2" class="attr-desc"></td> + </tr> + + + <tr valign='top'> + <td class="attr-name">IGNORE</td> + <td>=</td> + <td class="attr-value">%r( +(?: +//[^\n\r]*[\n\r]| # line comments +/\* # c-style comments +(?: +[^*/]| # normal chars +/[^*]| # slashes that do not start a nested comment +\*[^/]| # asterisks that do not end this comment +/(?=\*/) # single slash before this comment's end +)* +\*/ # the End of this comment +|[ \t\r\n]+ # whitespaces: space, horicontal tab, lf, cr +)+ +)mx</td> + </tr> + + <tr valign='top'> + <td> </td> + <td colspan="2" class="attr-desc"></td> + </tr> + + + <tr valign='top'> + <td class="attr-name">UNPARSED</td> + <td>=</td> + <td class="attr-value">Object.new</td> + </tr> + + <tr valign='top'> + <td> </td> + <td colspan="2" class="attr-desc"></td> + </tr> + + + <tr valign='top'> + <td class="attr-name">UNESCAPE_MAP</td> + <td>=</td> + <td class="attr-value">Hash.new { |h, k| h[k] = k.chr }</td> + </tr> + + <tr valign='top'> + <td> </td> + <td colspan="2" class="attr-desc"><p>Unescape characters in strings.</p></td> + </tr> + + + <tr valign='top'> + <td class="attr-name">EMPTY_8BIT_STRING</td> + <td>=</td> + <td class="attr-value">''</td> + </tr> + + <tr valign='top'> + <td> </td> + <td colspan="2" class="attr-desc"></td> + </tr> + + + </table> + + + + + + + <!-- 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</b>(source, opts = {}) + + </div> + + + <div class="description"> + <p>Creates a new <a href="Parser.html">JSON::Pure::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> +<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><li> +<p><strong>quirks_mode</strong>: Enables quirks_mode for parser, that is for +example parsing single <a href="../../JSON.html">JSON</a> values instead of +documents is possible.</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><span class="ruby-comment"># File lib/json/pure/parser.rb, line 73</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">initialize</span>(<span class="ruby-identifier">source</span>, <span class="ruby-identifier">opts</span> = {}) + <span class="ruby-identifier">opts</span> <span class="ruby-operator">||=</span> {} + <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@quirks_mode</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-value">:quirks_mode</span>] + <span class="ruby-identifier">source</span> = <span class="ruby-identifier">convert_encoding</span> <span class="ruby-identifier">source</span> + <span class="ruby-keyword">end</span> + <span class="ruby-keyword">super</span> <span class="ruby-identifier">source</span> + <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">opts</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-value">:max_nesting</span>) <span class="ruby-comment"># defaults to 19</span> + <span class="ruby-ivar">@max_nesting</span> = <span class="ruby-number">19</span> + <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:max_nesting</span>] + <span class="ruby-ivar">@max_nesting</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-value">:max_nesting</span>] + <span class="ruby-keyword">else</span> + <span class="ruby-ivar">@max_nesting</span> = <span class="ruby-number">0</span> + <span class="ruby-keyword">end</span> + <span class="ruby-ivar">@allow_nan</span> = <span class="ruby-operator">!</span><span class="ruby-operator">!</span><span class="ruby-identifier">opts</span>[<span class="ruby-value">:allow_nan</span>] + <span class="ruby-ivar">@symbolize_names</span> = <span class="ruby-operator">!</span><span class="ruby-operator">!</span><span class="ruby-identifier">opts</span>[<span class="ruby-value">:symbolize_names</span>] + <span class="ruby-keyword">if</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-value">:create_additions</span>) + <span class="ruby-ivar">@create_additions</span> = <span class="ruby-operator">!</span><span class="ruby-operator">!</span><span class="ruby-identifier">opts</span>[<span class="ruby-value">:create_additions</span>] + <span class="ruby-keyword">else</span> + <span class="ruby-ivar">@create_additions</span> = <span class="ruby-keyword">true</span> + <span class="ruby-keyword">end</span> + <span class="ruby-ivar">@create_id</span> = <span class="ruby-ivar">@create_additions</span> <span class="ruby-operator">?</span> <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">create_id</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">nil</span> + <span class="ruby-ivar">@object_class</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-value">:object_class</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">Hash</span> + <span class="ruby-ivar">@array_class</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-value">:array_class</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">Array</span> + <span class="ruby-ivar">@match_string</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-value">:match_string</span>] +<span class="ruby-keyword">end</span></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> string +<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><span class="ruby-comment"># File lib/json/pure/parser.rb, line 112</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">parse</span> + <span class="ruby-identifier">reset</span> + <span class="ruby-identifier">obj</span> = <span class="ruby-keyword">nil</span> + <span class="ruby-keyword">if</span> <span class="ruby-ivar">@quirks_mode</span> + <span class="ruby-keyword">while</span> <span class="ruby-operator">!</span><span class="ruby-identifier">eos?</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">skip</span>(<span class="ruby-constant">IGNORE</span>) + <span class="ruby-keyword">end</span> + <span class="ruby-keyword">if</span> <span class="ruby-identifier">eos?</span> + <span class="ruby-identifier">raise</span> <span class="ruby-constant">ParserError</span>, <span class="ruby-string">"source did not contain any JSON!"</span> + <span class="ruby-keyword">else</span> + <span class="ruby-identifier">obj</span> = <span class="ruby-identifier">parse_value</span> + <span class="ruby-identifier">obj</span> <span class="ruby-operator">==</span> <span class="ruby-constant">UNPARSED</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">ParserError</span>, <span class="ruby-string">"source did not contain any JSON!"</span> + <span class="ruby-keyword">end</span> + <span class="ruby-keyword">else</span> + <span class="ruby-keyword">until</span> <span class="ruby-identifier">eos?</span> + <span class="ruby-keyword">case</span> + <span class="ruby-keyword">when</span> <span class="ruby-identifier">scan</span>(<span class="ruby-constant">OBJECT_OPEN</span>) + <span class="ruby-identifier">obj</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">ParserError</span>, <span class="ruby-node">"source '#{peek(20)}' not in JSON!"</span> + <span class="ruby-ivar">@current_nesting</span> = <span class="ruby-number">1</span> + <span class="ruby-identifier">obj</span> = <span class="ruby-identifier">parse_object</span> + <span class="ruby-keyword">when</span> <span class="ruby-identifier">scan</span>(<span class="ruby-constant">ARRAY_OPEN</span>) + <span class="ruby-identifier">obj</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">ParserError</span>, <span class="ruby-node">"source '#{peek(20)}' not in JSON!"</span> + <span class="ruby-ivar">@current_nesting</span> = <span class="ruby-number">1</span> + <span class="ruby-identifier">obj</span> = <span class="ruby-identifier">parse_array</span> + <span class="ruby-keyword">when</span> <span class="ruby-identifier">skip</span>(<span class="ruby-constant">IGNORE</span>) + ; + <span class="ruby-keyword">else</span> + <span class="ruby-identifier">raise</span> <span class="ruby-constant">ParserError</span>, <span class="ruby-node">"source '#{peek(20)}' not in JSON!"</span> + <span class="ruby-keyword">end</span> + <span class="ruby-keyword">end</span> + <span class="ruby-identifier">obj</span> <span class="ruby-keyword">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">ParserError</span>, <span class="ruby-string">"source did not contain any JSON!"</span> + <span class="ruby-keyword">end</span> + <span class="ruby-identifier">obj</span> +<span class="ruby-keyword">end</span></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"> + + </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><span class="ruby-comment"># File lib/json/pure/parser.rb, line 101</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">quirks_mode?</span> + <span class="ruby-operator">!</span><span class="ruby-operator">!</span><span class="ruby-ivar">@quirks_mode</span> +<span class="ruby-keyword">end</span></pre> + </div> + </div> + + </div> + + <div class="method"> + <div class="title method-title" id="method-i-reset"> + + <a name="method-i-reset"></a><b>reset</b>() + + </div> + + + <div class="description"> + + </div> + + + + + + + <div class="sourcecode"> + + <p class="source-link"> + Source: + <a href="javascript:toggleSource('method-i-reset_source')" id="l_method-i-reset_source">show</a> + + </p> + <div id="method-i-reset_source" class="dyn-source"> + <pre><span class="ruby-comment"># File lib/json/pure/parser.rb, line 105</span> +<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">reset</span> + <span class="ruby-keyword">super</span> + <span class="ruby-ivar">@current_nesting</span> = <span class="ruby-number">0</span> +<span class="ruby-keyword">end</span></pre> + </div> + </div> + + </div> + </div> + </div> + </body> +</html>
\ No newline at end of file |