summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Frank <flori@ping.de>2010-02-26 22:50:39 +0100
committerFlorian Frank <flori@ping.de>2010-02-26 22:50:39 +0100
commitbca777b2c4162a63895926fcde6c20d1c9f75d1c (patch)
tree154f4daea96accc07e71e522f4e9eb3e9695c163
parentcd81fe0cec35e85344a4557bb24c7dda8c6dacae (diff)
downloadjson-bca777b2c4162a63895926fcde6c20d1c9f75d1c.tar.gz
generated documentation
-rw-r--r--doc/classes/.html105
-rw-r--r--doc/classes/Class.html145
-rw-r--r--doc/classes/Class.src/M000055.html18
-rw-r--r--doc/classes/Date.html169
-rw-r--r--doc/classes/Date.src/M000061.html18
-rw-r--r--doc/classes/Date.src/M000062.html24
-rw-r--r--doc/classes/DateTime.html169
-rw-r--r--doc/classes/DateTime.src/M000075.html26
-rw-r--r--doc/classes/DateTime.src/M000076.html28
-rw-r--r--doc/classes/EditMenu.html248
-rw-r--r--doc/classes/EditMenu.src/M000006.html21
-rw-r--r--doc/classes/EditMenu.src/M000007.html26
-rw-r--r--doc/classes/EditMenu.src/M000008.html33
-rw-r--r--doc/classes/EditMenu.src/M000009.html33
-rw-r--r--doc/classes/EditMenu.src/M000010.html47
-rw-r--r--doc/classes/EditMenu.src/M000011.html27
-rw-r--r--doc/classes/Editor.html213
-rw-r--r--doc/classes/Editor.src/M000082.html23
-rw-r--r--doc/classes/Editor.src/M000083.html30
-rw-r--r--doc/classes/Editor.src/M000084.html26
-rw-r--r--doc/classes/Editor.src/M000085.html47
-rw-r--r--doc/classes/Editor.src/M000086.html48
-rw-r--r--doc/classes/Enumerable.html131
-rw-r--r--doc/classes/Enumerable.src/M000094.html18
-rw-r--r--doc/classes/Exception.html156
-rw-r--r--doc/classes/Exception.src/M000063.html20
-rw-r--r--doc/classes/Exception.src/M000064.html22
-rw-r--r--doc/classes/FileMenu.html285
-rw-r--r--doc/classes/FileMenu.src/M000065.html18
-rw-r--r--doc/classes/FileMenu.src/M000066.html18
-rw-r--r--doc/classes/FileMenu.src/M000067.html18
-rw-r--r--doc/classes/FileMenu.src/M000068.html20
-rw-r--r--doc/classes/FileMenu.src/M000069.html18
-rw-r--r--doc/classes/FileMenu.src/M000070.html18
-rw-r--r--doc/classes/FileMenu.src/M000071.html18
-rw-r--r--doc/classes/FileMenu.src/M000072.html29
-rw-r--r--doc/classes/Gtk.html107
-rw-r--r--doc/classes/Gtk/TreeIter.html271
-rw-r--r--doc/classes/Gtk/TreeIter.src/M000087.html18
-rw-r--r--doc/classes/Gtk/TreeIter.src/M000088.html21
-rw-r--r--doc/classes/Gtk/TreeIter.src/M000089.html20
-rw-r--r--doc/classes/Gtk/TreeIter.src/M000090.html18
-rw-r--r--doc/classes/Gtk/TreeIter.src/M000091.html19
-rw-r--r--doc/classes/Gtk/TreeIter.src/M000092.html18
-rw-r--r--doc/classes/Gtk/TreeIter.src/M000093.html18
-rw-r--r--doc/classes/JSON.html611
-rw-r--r--doc/classes/JSON.src/M000095.html22
-rw-r--r--doc/classes/JSON.src/M000096.html18
-rw-r--r--doc/classes/JSON.src/M000097.html22
-rw-r--r--doc/classes/JSON.src/M000098.html31
-rw-r--r--doc/classes/JSON.src/M000099.html31
-rw-r--r--doc/classes/JSON.src/M000100.html31
-rw-r--r--doc/classes/JSON.src/M000101.html27
-rw-r--r--doc/classes/JSON.src/M000102.html27
-rw-r--r--doc/classes/JSON.src/M000104.html34
-rw-r--r--doc/classes/JSON.src/M000105.html18
-rw-r--r--doc/classes/JSON/Editor.html171
-rw-r--r--doc/classes/JSON/Ext.html116
-rw-r--r--doc/classes/JSON/Ext/Generator.html125
-rw-r--r--doc/classes/JSON/Ext/Generator/GeneratorMethods.html119
-rw-r--r--doc/classes/JSON/Ext/Generator/GeneratorMethods/Array.html140
-rw-r--r--doc/classes/JSON/Ext/Generator/GeneratorMethods/Array.src/M000109.html25
-rw-r--r--doc/classes/JSON/Ext/Generator/GeneratorMethods/FalseClass.html136
-rw-r--r--doc/classes/JSON/Ext/Generator/GeneratorMethods/FalseClass.src/M000108.html26
-rw-r--r--doc/classes/JSON/Ext/Generator/GeneratorMethods/Float.html136
-rw-r--r--doc/classes/JSON/Ext/Generator/GeneratorMethods/Float.src/M000111.html26
-rw-r--r--doc/classes/JSON/Ext/Generator/GeneratorMethods/Hash.html140
-rw-r--r--doc/classes/JSON/Ext/Generator/GeneratorMethods/Hash.src/M000110.html31
-rw-r--r--doc/classes/JSON/Ext/Generator/GeneratorMethods/Integer.html136
-rw-r--r--doc/classes/JSON/Ext/Generator/GeneratorMethods/Integer.src/M000107.html26
-rw-r--r--doc/classes/JSON/Ext/Generator/GeneratorMethods/NilClass.html132
-rw-r--r--doc/classes/JSON/Ext/Generator/GeneratorMethods/NilClass.src/M000112.html25
-rw-r--r--doc/classes/JSON/Ext/Generator/GeneratorMethods/Object.html138
-rw-r--r--doc/classes/JSON/Ext/Generator/GeneratorMethods/Object.src/M000106.html30
-rw-r--r--doc/classes/JSON/Ext/Generator/GeneratorMethods/String.html210
-rw-r--r--doc/classes/JSON/Ext/Generator/GeneratorMethods/String.src/M000114.html21
-rw-r--r--doc/classes/JSON/Ext/Generator/GeneratorMethods/String.src/M000115.html28
-rw-r--r--doc/classes/JSON/Ext/Generator/GeneratorMethods/String.src/M000116.html26
-rw-r--r--doc/classes/JSON/Ext/Generator/GeneratorMethods/String.src/M000117.html31
-rw-r--r--doc/classes/JSON/Ext/Generator/GeneratorMethods/String/Extend.html137
-rw-r--r--doc/classes/JSON/Ext/Generator/GeneratorMethods/String/Extend.src/M000118.html27
-rw-r--r--doc/classes/JSON/Ext/Generator/GeneratorMethods/TrueClass.html136
-rw-r--r--doc/classes/JSON/Ext/Generator/GeneratorMethods/TrueClass.src/M000113.html26
-rw-r--r--doc/classes/JSON/Ext/Generator/State.html588
-rw-r--r--doc/classes/JSON/Ext/Generator/State.src/M000119.html34
-rw-r--r--doc/classes/JSON/Ext/Generator/State.src/M000120.html40
-rw-r--r--doc/classes/JSON/Ext/Generator/State.src/M000121.html39
-rw-r--r--doc/classes/JSON/Ext/Generator/State.src/M000122.html24
-rw-r--r--doc/classes/JSON/Ext/Generator/State.src/M000123.html34
-rw-r--r--doc/classes/JSON/Ext/Generator/State.src/M000124.html25
-rw-r--r--doc/classes/JSON/Ext/Generator/State.src/M000125.html35
-rw-r--r--doc/classes/JSON/Ext/Generator/State.src/M000126.html24
-rw-r--r--doc/classes/JSON/Ext/Generator/State.src/M000127.html34
-rw-r--r--doc/classes/JSON/Ext/Generator/State.src/M000128.html25
-rw-r--r--doc/classes/JSON/Ext/Generator/State.src/M000129.html35
-rw-r--r--doc/classes/JSON/Ext/Generator/State.src/M000130.html24
-rw-r--r--doc/classes/JSON/Ext/Generator/State.src/M000131.html34
-rw-r--r--doc/classes/JSON/Ext/Generator/State.src/M000132.html25
-rw-r--r--doc/classes/JSON/Ext/Generator/State.src/M000133.html26
-rw-r--r--doc/classes/JSON/Ext/Generator/State.src/M000134.html25
-rw-r--r--doc/classes/JSON/Ext/Generator/State.src/M000135.html25
-rw-r--r--doc/classes/JSON/Ext/Generator/State.src/M000136.html82
-rw-r--r--doc/classes/JSON/Ext/Generator/State.src/M000137.html34
-rw-r--r--doc/classes/JSON/Ext/Generator/State.src/M000138.html33
-rw-r--r--doc/classes/JSON/Ext/Generator/State.src/M000139.html54
-rw-r--r--doc/classes/JSON/Ext/Parser.html237
-rw-r--r--doc/classes/JSON/Ext/Parser.src/M000140.html108
-rw-r--r--doc/classes/JSON/Ext/Parser.src/M000141.html179
-rw-r--r--doc/classes/JSON/Ext/Parser.src/M000142.html25
-rw-r--r--doc/classes/JSON/GeneratorError.html119
-rw-r--r--doc/classes/JSON/JSONError.html117
-rw-r--r--doc/classes/JSON/MissingUnicodeSupport.html120
-rw-r--r--doc/classes/JSON/NestingError.html120
-rw-r--r--doc/classes/JSON/ParserError.html119
-rw-r--r--doc/classes/JSON/Pure.html127
-rw-r--r--doc/classes/JSON/Pure/Generator.html112
-rw-r--r--doc/classes/JSON/Pure/Generator/GeneratorMethods.html119
-rw-r--r--doc/classes/JSON/Pure/Generator/GeneratorMethods/Array.html139
-rw-r--r--doc/classes/JSON/Pure/Generator/GeneratorMethods/Array.src/M000146.html22
-rw-r--r--doc/classes/JSON/Pure/Generator/GeneratorMethods/FalseClass.html135
-rw-r--r--doc/classes/JSON/Pure/Generator/GeneratorMethods/FalseClass.src/M000145.html16
-rw-r--r--doc/classes/JSON/Pure/Generator/GeneratorMethods/Float.html135
-rw-r--r--doc/classes/JSON/Pure/Generator/GeneratorMethods/Float.src/M000148.html33
-rw-r--r--doc/classes/JSON/Pure/Generator/GeneratorMethods/Hash.html139
-rw-r--r--doc/classes/JSON/Pure/Generator/GeneratorMethods/Hash.src/M000147.html22
-rw-r--r--doc/classes/JSON/Pure/Generator/GeneratorMethods/Integer.html135
-rw-r--r--doc/classes/JSON/Pure/Generator/GeneratorMethods/Integer.src/M000144.html16
-rw-r--r--doc/classes/JSON/Pure/Generator/GeneratorMethods/NilClass.html135
-rw-r--r--doc/classes/JSON/Pure/Generator/GeneratorMethods/NilClass.src/M000149.html16
-rw-r--r--doc/classes/JSON/Pure/Generator/GeneratorMethods/Object.html137
-rw-r--r--doc/classes/JSON/Pure/Generator/GeneratorMethods/Object.src/M000143.html16
-rw-r--r--doc/classes/JSON/Pure/Generator/GeneratorMethods/String.html226
-rw-r--r--doc/classes/JSON/Pure/Generator/GeneratorMethods/String.src/M000151.html29
-rw-r--r--doc/classes/JSON/Pure/Generator/GeneratorMethods/String.src/M000152.html24
-rw-r--r--doc/classes/JSON/Pure/Generator/GeneratorMethods/String.src/M000153.html18
-rw-r--r--doc/classes/JSON/Pure/Generator/GeneratorMethods/String.src/M000154.html21
-rw-r--r--doc/classes/JSON/Pure/Generator/GeneratorMethods/String.src/M000155.html18
-rw-r--r--doc/classes/JSON/Pure/Generator/GeneratorMethods/String/Extend.html143
-rw-r--r--doc/classes/JSON/Pure/Generator/GeneratorMethods/String/Extend.src/M000156.html18
-rw-r--r--doc/classes/JSON/Pure/Generator/GeneratorMethods/TrueClass.html135
-rw-r--r--doc/classes/JSON/Pure/Generator/GeneratorMethods/TrueClass.src/M000150.html16
-rw-r--r--doc/classes/JSON/Pure/Generator/State.html388
-rw-r--r--doc/classes/JSON/Pure/Generator/State.src/M000157.html25
-rw-r--r--doc/classes/JSON/Pure/Generator/State.src/M000158.html25
-rw-r--r--doc/classes/JSON/Pure/Generator/State.src/M000159.html18
-rw-r--r--doc/classes/JSON/Pure/Generator/State.src/M000160.html18
-rw-r--r--doc/classes/JSON/Pure/Generator/State.src/M000161.html18
-rw-r--r--doc/classes/JSON/Pure/Generator/State.src/M000162.html32
-rw-r--r--doc/classes/JSON/Pure/Generator/State.src/M000163.html22
-rw-r--r--doc/classes/JSON/Pure/Generator/State.src/M000164.html22
-rw-r--r--doc/classes/JSON/Pure/Parser.html314
-rw-r--r--doc/classes/JSON/Pure/Parser.src/M000165.html65
-rw-r--r--doc/classes/JSON/Pure/Parser.src/M000166.html37
-rw-r--r--doc/classes/JSONTreeView.html298
-rw-r--r--doc/classes/JSONTreeView.src/M000035.html25
-rw-r--r--doc/classes/JSONTreeView.src/M000036.html27
-rw-r--r--doc/classes/JSONTreeView.src/M000037.html84
-rw-r--r--doc/classes/JSONTreeView.src/M000038.html73
-rw-r--r--doc/classes/JSONTreeView.src/M000039.html45
-rw-r--r--doc/classes/JSONTreeView.src/M000040.html52
-rw-r--r--doc/classes/JSONTreeView.src/M000041.html22
-rw-r--r--doc/classes/MainWindow.html524
-rw-r--r--doc/classes/MainWindow.src/M000014.html62
-rw-r--r--doc/classes/MainWindow.src/M000015.html25
-rw-r--r--doc/classes/MainWindow.src/M000016.html19
-rw-r--r--doc/classes/MainWindow.src/M000017.html19
-rw-r--r--doc/classes/MainWindow.src/M000018.html21
-rw-r--r--doc/classes/MainWindow.src/M000019.html21
-rw-r--r--doc/classes/MainWindow.src/M000020.html25
-rw-r--r--doc/classes/MainWindow.src/M000021.html23
-rw-r--r--doc/classes/MainWindow.src/M000022.html21
-rw-r--r--doc/classes/MainWindow.src/M000023.html20
-rw-r--r--doc/classes/MainWindow.src/M000024.html22
-rw-r--r--doc/classes/MainWindow.src/M000025.html20
-rw-r--r--doc/classes/MainWindow.src/M000026.html22
-rw-r--r--doc/classes/MainWindow.src/M000027.html22
-rw-r--r--doc/classes/MainWindow.src/M000028.html19
-rw-r--r--doc/classes/MainWindow.src/M000029.html34
-rw-r--r--doc/classes/MainWindow.src/M000030.html30
-rw-r--r--doc/classes/MainWindow.src/M000031.html22
-rw-r--r--doc/classes/MainWindow.src/M000032.html24
-rw-r--r--doc/classes/MainWindow.src/M000033.html37
-rw-r--r--doc/classes/MainWindow.src/M000034.html42
-rw-r--r--doc/classes/MenuExtension.html251
-rw-r--r--doc/classes/MenuExtension.src/M000077.html19
-rw-r--r--doc/classes/MenuExtension.src/M000078.html18
-rw-r--r--doc/classes/MenuExtension.src/M000079.html30
-rw-r--r--doc/classes/MenuExtension.src/M000080.html18
-rw-r--r--doc/classes/MenuExtension.src/M000081.html18
-rw-r--r--doc/classes/Object.html156
-rw-r--r--doc/classes/Object.src/M000012.html23
-rw-r--r--doc/classes/Object.src/M000013.html25
-rw-r--r--doc/classes/OptionsMenu.html198
-rw-r--r--doc/classes/OptionsMenu.src/M000003.html24
-rw-r--r--doc/classes/OptionsMenu.src/M000004.html19
-rw-r--r--doc/classes/OptionsMenu.src/M000005.html25
-rw-r--r--doc/classes/PopUpMenu.html302
-rw-r--r--doc/classes/PopUpMenu.src/M000042.html35
-rw-r--r--doc/classes/PopUpMenu.src/M000043.html29
-rw-r--r--doc/classes/PopUpMenu.src/M000044.html28
-rw-r--r--doc/classes/PopUpMenu.src/M000045.html50
-rw-r--r--doc/classes/PopUpMenu.src/M000046.html42
-rw-r--r--doc/classes/PopUpMenu.src/M000047.html43
-rw-r--r--doc/classes/PopUpMenu.src/M000048.html39
-rw-r--r--doc/classes/PopUpMenu.src/M000049.html26
-rw-r--r--doc/classes/PopUpMenu.src/M000050.html40
-rw-r--r--doc/classes/Range.html156
-rw-r--r--doc/classes/Range.src/M000073.html18
-rw-r--r--doc/classes/Range.src/M000074.html21
-rw-r--r--doc/classes/Regexp.html156
-rw-r--r--doc/classes/Regexp.src/M000051.html18
-rw-r--r--doc/classes/Regexp.src/M000052.html22
-rw-r--r--doc/classes/Struct.html156
-rw-r--r--doc/classes/Struct.src/M000053.html18
-rw-r--r--doc/classes/Struct.src/M000054.html23
-rw-r--r--doc/classes/Symbol.html175
-rw-r--r--doc/classes/Symbol.src/M000058.html18
-rw-r--r--doc/classes/Symbol.src/M000059.html21
-rw-r--r--doc/classes/Symbol.src/M000060.html18
-rw-r--r--doc/classes/Time.html156
-rw-r--r--doc/classes/Time.src/M000056.html25
-rw-r--r--doc/classes/Time.src/M000057.html22
-rw-r--r--doc/created.rid1
-rw-r--r--doc/files/README.html593
-rw-r--r--doc/files/ext/json/ext/generator_c.html101
-rw-r--r--doc/files/ext/json/ext/parser_c.html101
-rw-r--r--doc/files/lib/json/add/core_rb.html116
-rw-r--r--doc/files/lib/json/add/rails_rb.html115
-rw-r--r--doc/files/lib/json/common_rb.html109
-rw-r--r--doc/files/lib/json/editor_rb.html172
-rw-r--r--doc/files/lib/json/editor_rb.src/M000001.html23
-rw-r--r--doc/files/lib/json/editor_rb.src/M000002.html20
-rw-r--r--doc/files/lib/json/ext_rb.html110
-rw-r--r--doc/files/lib/json/pure/generator_rb.html101
-rw-r--r--doc/files/lib/json/pure/parser_rb.html108
-rw-r--r--doc/files/lib/json/pure_rb.html111
-rw-r--r--doc/files/lib/json/version_rb.html101
-rw-r--r--doc/files/lib/json_rb.html111
-rw-r--r--doc/fr_class_index.html85
-rw-r--r--doc/fr_file_index.html39
-rw-r--r--doc/fr_method_index.html192
-rw-r--r--doc/index.html24
-rw-r--r--doc/rdoc-style.css208
243 files changed, 18266 insertions, 0 deletions
diff --git a/doc/classes/.html b/doc/classes/.html
new file mode 100644
index 0000000..41646d7
--- /dev/null
+++ b/doc/classes/.html
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: </title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header"></td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../files/lib/json/common_rb.html">
+ lib/json/common.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Class.html b/doc/classes/Class.html
new file mode 100644
index 0000000..c24235f
--- /dev/null
+++ b/doc/classes/Class.html
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: Class</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">Class</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../files/lib/json/common_rb.html">
+ lib/json/common.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ <a href="Object.html">
+ Object
+ </a>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000055">json_creatable?</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000055" class="method-detail">
+ <a name="M000055"></a>
+
+ <div class="method-heading">
+ <a href="Class.src/M000055.html" target="Code" class="method-signature"
+ onclick="popupCode('Class.src/M000055.html');return false;">
+ <span class="method-name">json_creatable?</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Returns true, if this class can be used to create an instance from a
+serialised <a href="JSON.html">JSON</a> string. The class has to implement
+a class method <em>json_create</em> that expects a hash as first parameter,
+which includes the required data.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Class.src/M000055.html b/doc/classes/Class.src/M000055.html
new file mode 100644
index 0000000..6364628
--- /dev/null
+++ b/doc/classes/Class.src/M000055.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>json_creatable? (Class)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/common.rb, line 385</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">json_creatable?</span>
+ <span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:json_create</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Date.html b/doc/classes/Date.html
new file mode 100644
index 0000000..893ba7b
--- /dev/null
+++ b/doc/classes/Date.html
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: Date</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">Date</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../files/lib/json/add/core_rb.html">
+ lib/json/add/core.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ <a href="Object.html">
+ Object
+ </a>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000061">json_create</a>&nbsp;&nbsp;
+ <a href="#M000062">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+ <div id="aliases-list">
+ <h3 class="section-bar">External Aliases</h3>
+
+ <div class="name-list">
+ <table summary="aliases">
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">sg</td>
+ <td>-&gt;</td>
+ <td class="context-item-value">start</td>
+ </tr>
+ </table>
+ </div>
+ </div>
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Class methods</h3>
+
+ <div id="method-M000061" class="method-detail">
+ <a name="M000061"></a>
+
+ <div class="method-heading">
+ <a href="Date.src/M000061.html" target="Code" class="method-signature"
+ onclick="popupCode('Date.src/M000061.html');return false;">
+ <span class="method-name">json_create</span><span class="method-args">(object)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000062" class="method-detail">
+ <a name="M000062"></a>
+
+ <div class="method-heading">
+ <a href="Date.src/M000062.html" target="Code" class="method-signature"
+ onclick="popupCode('Date.src/M000062.html');return false;">
+ <span class="method-name">to_json</span><span class="method-args">(*args)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Date.src/M000061.html b/doc/classes/Date.src/M000061.html
new file mode 100644
index 0000000..54cae1b
--- /dev/null
+++ b/doc/classes/Date.src/M000061.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>json_create (Date)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/add/core.rb, line 45</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">json_create</span>(<span class="ruby-identifier">object</span>)
+ <span class="ruby-identifier">civil</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">object</span>.<span class="ruby-identifier">values_at</span>(<span class="ruby-value str">'y'</span>, <span class="ruby-value str">'m'</span>, <span class="ruby-value str">'d'</span>, <span class="ruby-value str">'sg'</span>))
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Date.src/M000062.html b/doc/classes/Date.src/M000062.html
new file mode 100644
index 0000000..3ddc783
--- /dev/null
+++ b/doc/classes/Date.src/M000062.html
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (Date)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/add/core.rb, line 51</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
+ {
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">create_id</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">name</span>,
+ <span class="ruby-value str">'y'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">year</span>,
+ <span class="ruby-value str">'m'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">month</span>,
+ <span class="ruby-value str">'d'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">day</span>,
+ <span class="ruby-value str">'sg'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">start</span>,
+ }.<span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/DateTime.html b/doc/classes/DateTime.html
new file mode 100644
index 0000000..4b143f2
--- /dev/null
+++ b/doc/classes/DateTime.html
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: DateTime</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">DateTime</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../files/lib/json/add/core_rb.html">
+ lib/json/add/core.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ <a href="Object.html">
+ Object
+ </a>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000075">json_create</a>&nbsp;&nbsp;
+ <a href="#M000076">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+ <div id="aliases-list">
+ <h3 class="section-bar">External Aliases</h3>
+
+ <div class="name-list">
+ <table summary="aliases">
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">sg</td>
+ <td>-&gt;</td>
+ <td class="context-item-value">start</td>
+ </tr>
+ </table>
+ </div>
+ </div>
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Class methods</h3>
+
+ <div id="method-M000075" class="method-detail">
+ <a name="M000075"></a>
+
+ <div class="method-heading">
+ <a href="DateTime.src/M000075.html" target="Code" class="method-signature"
+ onclick="popupCode('DateTime.src/M000075.html');return false;">
+ <span class="method-name">json_create</span><span class="method-args">(object)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000076" class="method-detail">
+ <a name="M000076"></a>
+
+ <div class="method-heading">
+ <a href="DateTime.src/M000076.html" target="Code" class="method-signature"
+ onclick="popupCode('DateTime.src/M000076.html');return false;">
+ <span class="method-name">to_json</span><span class="method-args">(*args)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/DateTime.src/M000075.html b/doc/classes/DateTime.src/M000075.html
new file mode 100644
index 0000000..c388836
--- /dev/null
+++ b/doc/classes/DateTime.src/M000075.html
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>json_create (DateTime)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/add/core.rb, line 63</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">json_create</span>(<span class="ruby-identifier">object</span>)
+ <span class="ruby-identifier">args</span> = <span class="ruby-identifier">object</span>.<span class="ruby-identifier">values_at</span>(<span class="ruby-value str">'y'</span>, <span class="ruby-value str">'m'</span>, <span class="ruby-value str">'d'</span>, <span class="ruby-value str">'H'</span>, <span class="ruby-value str">'M'</span>, <span class="ruby-value str">'S'</span>)
+ <span class="ruby-identifier">of_a</span>, <span class="ruby-identifier">of_b</span> = <span class="ruby-identifier">object</span>[<span class="ruby-value str">'of'</span>].<span class="ruby-identifier">split</span>(<span class="ruby-value str">'/'</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">of_b</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">of_b</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'0'</span>
+ <span class="ruby-identifier">args</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Rational</span>(<span class="ruby-identifier">of_a</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-identifier">of_b</span>.<span class="ruby-identifier">to_i</span>)
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">args</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">of_a</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">args</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">object</span>[<span class="ruby-value str">'sg'</span>]
+ <span class="ruby-identifier">civil</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/DateTime.src/M000076.html b/doc/classes/DateTime.src/M000076.html
new file mode 100644
index 0000000..6691f94
--- /dev/null
+++ b/doc/classes/DateTime.src/M000076.html
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (DateTime)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/add/core.rb, line 77</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
+ {
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">create_id</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">name</span>,
+ <span class="ruby-value str">'y'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">year</span>,
+ <span class="ruby-value str">'m'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">month</span>,
+ <span class="ruby-value str">'d'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">day</span>,
+ <span class="ruby-value str">'H'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">hour</span>,
+ <span class="ruby-value str">'M'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">min</span>,
+ <span class="ruby-value str">'S'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">sec</span>,
+ <span class="ruby-value str">'of'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">offset</span>.<span class="ruby-identifier">to_s</span>,
+ <span class="ruby-value str">'sg'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">start</span>,
+ }.<span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/EditMenu.html b/doc/classes/EditMenu.html
new file mode 100644
index 0000000..c143dd4
--- /dev/null
+++ b/doc/classes/EditMenu.html
@@ -0,0 +1,248 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: EditMenu</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">EditMenu</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../files/lib/json/editor_rb.html">
+ lib/json/editor.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ <a href="Object.html">
+ Object
+ </a>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="description">
+ <p>
+This class creates the Edit pulldown menu.
+</p>
+
+ </div>
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000006">copy</a>&nbsp;&nbsp;
+ <a href="#M000011">create</a>&nbsp;&nbsp;
+ <a href="#M000008">find</a>&nbsp;&nbsp;
+ <a href="#M000009">find_again</a>&nbsp;&nbsp;
+ <a href="#M000007">paste</a>&nbsp;&nbsp;
+ <a href="#M000010">sort</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+ <div id="includes">
+ <h3 class="section-bar">Included Modules</h3>
+
+ <div id="includes-list">
+ <span class="include-name"><a href="MenuExtension.html">MenuExtension</a></span>
+ </div>
+ </div>
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000006" class="method-detail">
+ <a name="M000006"></a>
+
+ <div class="method-heading">
+ <a href="EditMenu.src/M000006.html" target="Code" class="method-signature"
+ onclick="popupCode('EditMenu.src/M000006.html');return false;">
+ <span class="method-name">copy</span><span class="method-args">(item)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Copy data from model into primary clipboard.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000011" class="method-detail">
+ <a name="M000011"></a>
+
+ <div class="method-heading">
+ <a href="EditMenu.src/M000011.html" target="Code" class="method-signature"
+ onclick="popupCode('EditMenu.src/M000011.html');return false;">
+ <span class="method-name">create</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Create the menu.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000008" class="method-detail">
+ <a name="M000008"></a>
+
+ <div class="method-heading">
+ <a href="EditMenu.src/M000008.html" target="Code" class="method-signature"
+ onclick="popupCode('EditMenu.src/M000008.html');return false;">
+ <span class="method-name">find</span><span class="method-args">(item)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Find a string in all nodes&#8217; contents and select the found node in the
+treeview.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000009" class="method-detail">
+ <a name="M000009"></a>
+
+ <div class="method-heading">
+ <a href="EditMenu.src/M000009.html" target="Code" class="method-signature"
+ onclick="popupCode('EditMenu.src/M000009.html');return false;">
+ <span class="method-name">find_again</span><span class="method-args">(item)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Repeat the last search given by <a href="EditMenu.html#M000008">find</a>.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000007" class="method-detail">
+ <a name="M000007"></a>
+
+ <div class="method-heading">
+ <a href="EditMenu.src/M000007.html" target="Code" class="method-signature"
+ onclick="popupCode('EditMenu.src/M000007.html');return false;">
+ <span class="method-name">paste</span><span class="method-args">(item)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Copy json text from primary clipboard into model.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000010" class="method-detail">
+ <a name="M000010"></a>
+
+ <div class="method-heading">
+ <a href="EditMenu.src/M000010.html" target="Code" class="method-signature"
+ onclick="popupCode('EditMenu.src/M000010.html');return false;">
+ <span class="method-name">sort</span><span class="method-args">(item)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Sort (Reverse <a href="EditMenu.html#M000010">sort</a>) all elements of the
+selected array by the given expression. <em>x</em> is the element in
+question.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/EditMenu.src/M000006.html b/doc/classes/EditMenu.src/M000006.html
new file mode 100644
index 0000000..b18704a
--- /dev/null
+++ b/doc/classes/EditMenu.src/M000006.html
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>copy (EditMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 548</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">copy</span>(<span class="ruby-identifier">item</span>)
+ <span class="ruby-identifier">data</span> = <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">model2data</span>(<span class="ruby-identifier">model</span>.<span class="ruby-identifier">iter_first</span>)
+ <span class="ruby-identifier">json</span> = <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">pretty_generate</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">:max_nesting</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">false</span>)
+ <span class="ruby-identifier">c</span> = <span class="ruby-constant">Gtk</span><span class="ruby-operator">::</span><span class="ruby-constant">Clipboard</span>.<span class="ruby-identifier">get</span>(<span class="ruby-constant">Gdk</span><span class="ruby-operator">::</span><span class="ruby-constant">Selection</span><span class="ruby-operator">::</span><span class="ruby-constant">PRIMARY</span>)
+ <span class="ruby-identifier">c</span>.<span class="ruby-identifier">text</span> = <span class="ruby-identifier">json</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/EditMenu.src/M000007.html b/doc/classes/EditMenu.src/M000007.html
new file mode 100644
index 0000000..9f92e13
--- /dev/null
+++ b/doc/classes/EditMenu.src/M000007.html
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>paste (EditMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 556</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">paste</span>(<span class="ruby-identifier">item</span>)
+ <span class="ruby-identifier">c</span> = <span class="ruby-constant">Gtk</span><span class="ruby-operator">::</span><span class="ruby-constant">Clipboard</span>.<span class="ruby-identifier">get</span>(<span class="ruby-constant">Gdk</span><span class="ruby-operator">::</span><span class="ruby-constant">Selection</span><span class="ruby-operator">::</span><span class="ruby-constant">PRIMARY</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">json</span> = <span class="ruby-identifier">c</span>.<span class="ruby-identifier">wait_for_text</span>
+ <span class="ruby-identifier">window</span>.<span class="ruby-identifier">ask_save</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@changed</span>
+ <span class="ruby-keyword kw">begin</span>
+ <span class="ruby-identifier">window</span>.<span class="ruby-identifier">edit</span> <span class="ruby-identifier">json</span>
+ <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">JSON</span><span class="ruby-operator">::</span><span class="ruby-constant">ParserError</span>
+ <span class="ruby-identifier">window</span>.<span class="ruby-identifier">clear</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/EditMenu.src/M000008.html b/doc/classes/EditMenu.src/M000008.html
new file mode 100644
index 0000000..5b10657
--- /dev/null
+++ b/doc/classes/EditMenu.src/M000008.html
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>find (EditMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 570</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">find</span>(<span class="ruby-identifier">item</span>)
+ <span class="ruby-ivar">@search</span> = <span class="ruby-identifier">ask_for_find_term</span>(<span class="ruby-ivar">@search</span>) <span class="ruby-keyword kw">or</span> <span class="ruby-keyword kw">return</span>
+ <span class="ruby-identifier">iter</span> = <span class="ruby-identifier">model</span>.<span class="ruby-identifier">get_iter</span>(<span class="ruby-value str">'0'</span>) <span class="ruby-keyword kw">or</span> <span class="ruby-keyword kw">return</span>
+ <span class="ruby-identifier">iter</span>.<span class="ruby-identifier">recursive_each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@iter</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@iter</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">i</span>
+ <span class="ruby-keyword kw">next</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-ivar">@iter</span> = <span class="ruby-keyword kw">nil</span>
+ <span class="ruby-keyword kw">next</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@search</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">i</span>[<span class="ruby-constant">CONTENT_COL</span>])
+ <span class="ruby-identifier">set_cursor</span>(<span class="ruby-identifier">i</span>.<span class="ruby-identifier">path</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">false</span>)
+ <span class="ruby-ivar">@iter</span> = <span class="ruby-identifier">i</span>
+ <span class="ruby-keyword kw">break</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/EditMenu.src/M000009.html b/doc/classes/EditMenu.src/M000009.html
new file mode 100644
index 0000000..1c35280
--- /dev/null
+++ b/doc/classes/EditMenu.src/M000009.html
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>find_again (EditMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 590</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">find_again</span>(<span class="ruby-identifier">item</span>)
+ <span class="ruby-ivar">@search</span> <span class="ruby-keyword kw">or</span> <span class="ruby-keyword kw">return</span>
+ <span class="ruby-identifier">iter</span> = <span class="ruby-identifier">model</span>.<span class="ruby-identifier">get_iter</span>(<span class="ruby-value str">'0'</span>)
+ <span class="ruby-identifier">iter</span>.<span class="ruby-identifier">recursive_each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@iter</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@iter</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">i</span>
+ <span class="ruby-keyword kw">next</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-ivar">@iter</span> = <span class="ruby-keyword kw">nil</span>
+ <span class="ruby-keyword kw">next</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@search</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">i</span>[<span class="ruby-constant">CONTENT_COL</span>])
+ <span class="ruby-identifier">set_cursor</span>(<span class="ruby-identifier">i</span>.<span class="ruby-identifier">path</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">false</span>)
+ <span class="ruby-ivar">@iter</span> = <span class="ruby-identifier">i</span>
+ <span class="ruby-keyword kw">break</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/EditMenu.src/M000010.html b/doc/classes/EditMenu.src/M000010.html
new file mode 100644
index 0000000..105a729
--- /dev/null
+++ b/doc/classes/EditMenu.src/M000010.html
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>sort (EditMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 611</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sort</span>(<span class="ruby-identifier">item</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span> = <span class="ruby-identifier">selection</span>.<span class="ruby-identifier">selected</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span>.<span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'Array'</span>
+ <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">current</span>.<span class="ruby-identifier">parent</span>
+ <span class="ruby-identifier">ary</span> = <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">model2data</span>(<span class="ruby-identifier">current</span>)
+ <span class="ruby-identifier">order</span>, <span class="ruby-identifier">reverse</span> = <span class="ruby-identifier">ask_for_order</span>
+ <span class="ruby-identifier">order</span> <span class="ruby-keyword kw">or</span> <span class="ruby-keyword kw">return</span>
+ <span class="ruby-keyword kw">begin</span>
+ <span class="ruby-identifier">block</span> = <span class="ruby-identifier">eval</span> <span class="ruby-node">&quot;lambda { |x| #{order} }&quot;</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">reverse</span>
+ <span class="ruby-identifier">ary</span>.<span class="ruby-identifier">sort!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span>,<span class="ruby-identifier">b</span><span class="ruby-operator">|</span> <span class="ruby-identifier">block</span>[<span class="ruby-identifier">b</span>] <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">block</span>[<span class="ruby-identifier">a</span>] }
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">ary</span>.<span class="ruby-identifier">sort!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span>,<span class="ruby-identifier">b</span><span class="ruby-operator">|</span> <span class="ruby-identifier">block</span>[<span class="ruby-identifier">a</span>] <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">block</span>[<span class="ruby-identifier">b</span>] }
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
+ <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">error_dialog</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-node">&quot;Failed to sort Array with #{order}: #{e}!&quot;</span>)
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">data2model</span>(<span class="ruby-identifier">ary</span>, <span class="ruby-identifier">model</span>, <span class="ruby-identifier">parent</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">m</span>.<span class="ruby-identifier">insert_before</span>(<span class="ruby-identifier">parent</span>, <span class="ruby-identifier">current</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">model</span>.<span class="ruby-identifier">remove</span>(<span class="ruby-identifier">current</span>)
+ <span class="ruby-identifier">expand_collapse</span>(<span class="ruby-identifier">parent</span>)
+ <span class="ruby-identifier">window</span>.<span class="ruby-identifier">change</span>
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-value str">&quot;Array has been sorted.&quot;</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-value str">&quot;Only Array nodes can be sorted!&quot;</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-value str">&quot;Select an Array to sort first!&quot;</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/EditMenu.src/M000011.html b/doc/classes/EditMenu.src/M000011.html
new file mode 100644
index 0000000..e093ff0
--- /dev/null
+++ b/doc/classes/EditMenu.src/M000011.html
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>create (EditMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 645</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create</span>
+ <span class="ruby-identifier">title</span> = <span class="ruby-constant">MenuItem</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Edit'</span>)
+ <span class="ruby-identifier">title</span>.<span class="ruby-identifier">submenu</span> = <span class="ruby-identifier">menu</span>
+ <span class="ruby-identifier">add_item</span>(<span class="ruby-value str">'Copy'</span>, <span class="ruby-value">?c</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">method</span>(<span class="ruby-identifier">:copy</span>))
+ <span class="ruby-identifier">add_item</span>(<span class="ruby-value str">'Paste'</span>, <span class="ruby-value">?v</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">method</span>(<span class="ruby-identifier">:paste</span>))
+ <span class="ruby-identifier">add_separator</span>
+ <span class="ruby-identifier">add_item</span>(<span class="ruby-value str">'Find'</span>, <span class="ruby-value">?f</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">method</span>(<span class="ruby-identifier">:find</span>))
+ <span class="ruby-identifier">add_item</span>(<span class="ruby-value str">'Find Again'</span>, <span class="ruby-value">?g</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">method</span>(<span class="ruby-identifier">:find_again</span>))
+ <span class="ruby-identifier">add_separator</span>
+ <span class="ruby-identifier">add_item</span>(<span class="ruby-value str">'Sort'</span>, <span class="ruby-value">?S</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">method</span>(<span class="ruby-identifier">:sort</span>))
+ <span class="ruby-identifier">title</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Editor.html b/doc/classes/Editor.html
new file mode 100644
index 0000000..0e3a4db
--- /dev/null
+++ b/doc/classes/Editor.html
@@ -0,0 +1,213 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: Editor</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">Editor</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000086">data2model</a>&nbsp;&nbsp;
+ <a href="#M000083">error_dialog</a>&nbsp;&nbsp;
+ <a href="#M000082">fetch_icon</a>&nbsp;&nbsp;
+ <a href="#M000085">model2data</a>&nbsp;&nbsp;
+ <a href="#M000084">question_dialog</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Class methods</h3>
+
+ <div id="method-M000086" class="method-detail">
+ <a name="M000086"></a>
+
+ <div class="method-heading">
+ <a href="Editor.src/M000086.html" target="Code" class="method-signature"
+ onclick="popupCode('Editor.src/M000086.html');return false;">
+ <span class="method-name">data2model</span><span class="method-args">(data, model = nil, parent = nil) {|model| ...}</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Convert the Ruby data structure <em>data</em> into tree model data for <a
+href="Gtk.html">Gtk</a> and returns the whole model. If the parameter
+<em>model</em> wasn&#8216;t given a new Gtk::TreeStore is created as the
+model. The <em>parent</em> parameter specifies the parent node (iter, <a
+href="Gtk.html">Gtk</a>:TreeIter instance) to which the data is appended,
+alternativeley the result of the yielded block is used as iter.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000083" class="method-detail">
+ <a name="M000083"></a>
+
+ <div class="method-heading">
+ <a href="Editor.src/M000083.html" target="Code" class="method-signature"
+ onclick="popupCode('Editor.src/M000083.html');return false;">
+ <span class="method-name">error_dialog</span><span class="method-args">(window, text)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Opens an error dialog on top of <em>window</em> showing the error message
+<em>text</em>.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000082" class="method-detail">
+ <a name="M000082"></a>
+
+ <div class="method-heading">
+ <a href="Editor.src/M000082.html" target="Code" class="method-signature"
+ onclick="popupCode('Editor.src/M000082.html');return false;">
+ <span class="method-name">fetch_icon</span><span class="method-args">(name)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Returns the Gdk::Pixbuf of the icon named <em>name</em> from the icon
+cache.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000085" class="method-detail">
+ <a name="M000085"></a>
+
+ <div class="method-heading">
+ <a href="Editor.src/M000085.html" target="Code" class="method-signature"
+ onclick="popupCode('Editor.src/M000085.html');return false;">
+ <span class="method-name">model2data</span><span class="method-args">(iter)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Convert the tree model starting from <a
+href="Gtk/TreeIter.html">Gtk::TreeIter</a> <em>iter</em> into a Ruby data
+structure and return it.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000084" class="method-detail">
+ <a name="M000084"></a>
+
+ <div class="method-heading">
+ <a href="Editor.src/M000084.html" target="Code" class="method-signature"
+ onclick="popupCode('Editor.src/M000084.html');return false;">
+ <span class="method-name">question_dialog</span><span class="method-args">(window, text)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Opens a yes/no question dialog on top of <em>window</em> showing the error
+message <em>text</em>. If yes was answered <em>true</em> is returned,
+otherwise <em>false</em>.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Editor.src/M000082.html b/doc/classes/Editor.src/M000082.html
new file mode 100644
index 0000000..8b51b8a
--- /dev/null
+++ b/doc/classes/Editor.src/M000082.html
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>fetch_icon (Editor)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 39</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">fetch_icon</span>(<span class="ruby-identifier">name</span>)
+ <span class="ruby-ivar">@icon_cache</span> <span class="ruby-operator">||=</span> {}
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@icon_cache</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">name</span>)
+ <span class="ruby-identifier">path</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-keyword kw">__FILE__</span>)
+ <span class="ruby-ivar">@icon_cache</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-constant">Gdk</span><span class="ruby-operator">::</span><span class="ruby-constant">Pixbuf</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">path</span>, <span class="ruby-identifier">name</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'.xpm'</span>))
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-ivar">@icon_cache</span>[<span class="ruby-identifier">name</span>]
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Editor.src/M000083.html b/doc/classes/Editor.src/M000083.html
new file mode 100644
index 0000000..c20cc69
--- /dev/null
+++ b/doc/classes/Editor.src/M000083.html
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>error_dialog (Editor)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 50</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">error_dialog</span>(<span class="ruby-identifier">window</span>, <span class="ruby-identifier">text</span>)
+ <span class="ruby-identifier">dialog</span> = <span class="ruby-constant">MessageDialog</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">window</span>, <span class="ruby-constant">Dialog</span><span class="ruby-operator">::</span><span class="ruby-constant">MODAL</span>,
+ <span class="ruby-constant">MessageDialog</span><span class="ruby-operator">::</span><span class="ruby-constant">ERROR</span>,
+ <span class="ruby-constant">MessageDialog</span><span class="ruby-operator">::</span><span class="ruby-constant">BUTTONS_CLOSE</span>, <span class="ruby-identifier">text</span>)
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">show_all</span>
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">run</span>
+ <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TypeError</span>
+ <span class="ruby-identifier">dialog</span> = <span class="ruby-constant">MessageDialog</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">Editor</span>.<span class="ruby-identifier">window</span>, <span class="ruby-constant">Dialog</span><span class="ruby-operator">::</span><span class="ruby-constant">MODAL</span>,
+ <span class="ruby-constant">MessageDialog</span><span class="ruby-operator">::</span><span class="ruby-constant">ERROR</span>,
+ <span class="ruby-constant">MessageDialog</span><span class="ruby-operator">::</span><span class="ruby-constant">BUTTONS_CLOSE</span>, <span class="ruby-identifier">text</span>)
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">show_all</span>
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">run</span>
+ <span class="ruby-keyword kw">ensure</span>
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">destroy</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dialog</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Editor.src/M000084.html b/doc/classes/Editor.src/M000084.html
new file mode 100644
index 0000000..b1e90a6
--- /dev/null
+++ b/doc/classes/Editor.src/M000084.html
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>question_dialog (Editor)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 69</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">question_dialog</span>(<span class="ruby-identifier">window</span>, <span class="ruby-identifier">text</span>)
+ <span class="ruby-identifier">dialog</span> = <span class="ruby-constant">MessageDialog</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">window</span>, <span class="ruby-constant">Dialog</span><span class="ruby-operator">::</span><span class="ruby-constant">MODAL</span>,
+ <span class="ruby-constant">MessageDialog</span><span class="ruby-operator">::</span><span class="ruby-constant">QUESTION</span>,
+ <span class="ruby-constant">MessageDialog</span><span class="ruby-operator">::</span><span class="ruby-constant">BUTTONS_YES_NO</span>, <span class="ruby-identifier">text</span>)
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">show_all</span>
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">run</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">response</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword kw">return</span> <span class="ruby-constant">Gtk</span><span class="ruby-operator">::</span><span class="ruby-constant">Dialog</span><span class="ruby-operator">::</span><span class="ruby-constant">RESPONSE_YES</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">response</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">ensure</span>
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">destroy</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dialog</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Editor.src/M000085.html b/doc/classes/Editor.src/M000085.html
new file mode 100644
index 0000000..70406ac
--- /dev/null
+++ b/doc/classes/Editor.src/M000085.html
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>model2data (Editor)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 83</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">model2data</span>(<span class="ruby-identifier">iter</span>)
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">iter</span>.<span class="ruby-identifier">nil?</span>
+ <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">iter</span>.<span class="ruby-identifier">type</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'Hash'</span>
+ <span class="ruby-identifier">hash</span> = {}
+ <span class="ruby-identifier">iter</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">hash</span>[<span class="ruby-identifier">c</span>.<span class="ruby-identifier">content</span>] = <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">model2data</span>(<span class="ruby-identifier">c</span>.<span class="ruby-identifier">first_child</span>) }
+ <span class="ruby-identifier">hash</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'Array'</span>
+ <span class="ruby-identifier">array</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">iter</span>.<span class="ruby-identifier">n_children</span>)
+ <span class="ruby-identifier">iter</span>.<span class="ruby-identifier">each_with_index</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">c</span>, <span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-identifier">array</span>[<span class="ruby-identifier">i</span>] = <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">model2data</span>(<span class="ruby-identifier">c</span>) }
+ <span class="ruby-identifier">array</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'Key'</span>
+ <span class="ruby-identifier">iter</span>.<span class="ruby-identifier">content</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'String'</span>
+ <span class="ruby-identifier">iter</span>.<span class="ruby-identifier">content</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'Numeric'</span>
+ <span class="ruby-identifier">content</span> = <span class="ruby-identifier">iter</span>.<span class="ruby-identifier">content</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-regexp re">/\./</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">content</span>)
+ <span class="ruby-identifier">content</span>.<span class="ruby-identifier">to_f</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">content</span>.<span class="ruby-identifier">to_i</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'TrueClass'</span>
+ <span class="ruby-keyword kw">true</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'FalseClass'</span>
+ <span class="ruby-keyword kw">false</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'NilClass'</span>
+ <span class="ruby-keyword kw">nil</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">fail</span> <span class="ruby-node">&quot;Unknown type found in model: #{iter.type}&quot;</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Editor.src/M000086.html b/doc/classes/Editor.src/M000086.html
new file mode 100644
index 0000000..e694574
--- /dev/null
+++ b/doc/classes/Editor.src/M000086.html
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>data2model (Editor)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 121</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">data2model</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">model</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">parent</span> = <span class="ruby-keyword kw">nil</span>)
+ <span class="ruby-identifier">model</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">TreeStore</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">Gdk</span><span class="ruby-operator">::</span><span class="ruby-constant">Pixbuf</span>, <span class="ruby-constant">String</span>, <span class="ruby-constant">String</span>)
+ <span class="ruby-identifier">iter</span> = <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
+ <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">model</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">model</span>.<span class="ruby-identifier">append</span>(<span class="ruby-identifier">parent</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">data</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Hash</span>
+ <span class="ruby-identifier">iter</span>.<span class="ruby-identifier">type</span> = <span class="ruby-value str">'Hash'</span>
+ <span class="ruby-identifier">data</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">pair_iter</span> = <span class="ruby-identifier">model</span>.<span class="ruby-identifier">append</span>(<span class="ruby-identifier">iter</span>)
+ <span class="ruby-identifier">pair_iter</span>.<span class="ruby-identifier">type</span> = <span class="ruby-value str">'Key'</span>
+ <span class="ruby-identifier">pair_iter</span>.<span class="ruby-identifier">content</span> = <span class="ruby-identifier">key</span>.<span class="ruby-identifier">to_s</span>
+ <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">data2model</span>(<span class="ruby-identifier">value</span>, <span class="ruby-identifier">model</span>, <span class="ruby-identifier">pair_iter</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Array</span>
+ <span class="ruby-identifier">iter</span>.<span class="ruby-identifier">type</span> = <span class="ruby-value str">'Array'</span>
+ <span class="ruby-identifier">data</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
+ <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">data2model</span>(<span class="ruby-identifier">value</span>, <span class="ruby-identifier">model</span>, <span class="ruby-identifier">iter</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Numeric</span>
+ <span class="ruby-identifier">iter</span>.<span class="ruby-identifier">type</span> = <span class="ruby-value str">'Numeric'</span>
+ <span class="ruby-identifier">iter</span>.<span class="ruby-identifier">content</span> = <span class="ruby-identifier">data</span>.<span class="ruby-identifier">to_s</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-constant">String</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span>
+ <span class="ruby-identifier">iter</span>.<span class="ruby-identifier">type</span> = <span class="ruby-identifier">data</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">name</span>
+ <span class="ruby-identifier">iter</span>.<span class="ruby-identifier">content</span> = <span class="ruby-identifier">data</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-value">? </span><span class="ruby-value str">'null'</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">data</span>.<span class="ruby-identifier">to_s</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">iter</span>.<span class="ruby-identifier">type</span> = <span class="ruby-value str">'String'</span>
+ <span class="ruby-identifier">iter</span>.<span class="ruby-identifier">content</span> = <span class="ruby-identifier">data</span>.<span class="ruby-identifier">to_s</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">model</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Enumerable.html b/doc/classes/Enumerable.html
new file mode 100644
index 0000000..2bc93fb
--- /dev/null
+++ b/doc/classes/Enumerable.html
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: Enumerable</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">Enumerable</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../files/lib/json/add/rails_rb.html">
+ lib/json/add/rails.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000094">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000094" class="method-detail">
+ <a name="M000094"></a>
+
+ <div class="method-heading">
+ <a href="Enumerable.src/M000094.html" target="Code" class="method-signature"
+ onclick="popupCode('Enumerable.src/M000094.html');return false;">
+ <span class="method-name">to_json</span><span class="method-args">(*a)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Enumerable.src/M000094.html b/doc/classes/Enumerable.src/M000094.html
new file mode 100644
index 0000000..9be554f
--- /dev/null
+++ b/doc/classes/Enumerable.src/M000094.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (Enumerable)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/add/rails.rb, line 38</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">a</span>)
+ <span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">a</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Exception.html b/doc/classes/Exception.html
new file mode 100644
index 0000000..d774f82
--- /dev/null
+++ b/doc/classes/Exception.html
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: Exception</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">Exception</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../files/lib/json/add/core_rb.html">
+ lib/json/add/core.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ <a href="Object.html">
+ Object
+ </a>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000063">json_create</a>&nbsp;&nbsp;
+ <a href="#M000064">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Class methods</h3>
+
+ <div id="method-M000063" class="method-detail">
+ <a name="M000063"></a>
+
+ <div class="method-heading">
+ <a href="Exception.src/M000063.html" target="Code" class="method-signature"
+ onclick="popupCode('Exception.src/M000063.html');return false;">
+ <span class="method-name">json_create</span><span class="method-args">(object)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000064" class="method-detail">
+ <a name="M000064"></a>
+
+ <div class="method-heading">
+ <a href="Exception.src/M000064.html" target="Code" class="method-signature"
+ onclick="popupCode('Exception.src/M000064.html');return false;">
+ <span class="method-name">to_json</span><span class="method-args">(*args)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Exception.src/M000063.html b/doc/classes/Exception.src/M000063.html
new file mode 100644
index 0000000..4c5e476
--- /dev/null
+++ b/doc/classes/Exception.src/M000063.html
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>json_create (Exception)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/add/core.rb, line 121</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">json_create</span>(<span class="ruby-identifier">object</span>)
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">new</span>(<span class="ruby-identifier">object</span>[<span class="ruby-value str">'m'</span>])
+ <span class="ruby-identifier">result</span>.<span class="ruby-identifier">set_backtrace</span> <span class="ruby-identifier">object</span>[<span class="ruby-value str">'b'</span>]
+ <span class="ruby-identifier">result</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Exception.src/M000064.html b/doc/classes/Exception.src/M000064.html
new file mode 100644
index 0000000..5fe70f5
--- /dev/null
+++ b/doc/classes/Exception.src/M000064.html
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (Exception)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/add/core.rb, line 127</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
+ {
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">create_id</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">name</span>,
+ <span class="ruby-value str">'m'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">message</span>,
+ <span class="ruby-value str">'b'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">backtrace</span>,
+ }.<span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/FileMenu.html b/doc/classes/FileMenu.html
new file mode 100644
index 0000000..453475e
--- /dev/null
+++ b/doc/classes/FileMenu.html
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: FileMenu</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">FileMenu</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../files/lib/json/editor_rb.html">
+ lib/json/editor.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ <a href="Object.html">
+ Object
+ </a>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="description">
+ <p>
+This class creates the File pulldown menu.
+</p>
+
+ </div>
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000072">create</a>&nbsp;&nbsp;
+ <a href="#M000065">new</a>&nbsp;&nbsp;
+ <a href="#M000066">open</a>&nbsp;&nbsp;
+ <a href="#M000067">open_location</a>&nbsp;&nbsp;
+ <a href="#M000071">quit</a>&nbsp;&nbsp;
+ <a href="#M000068">revert</a>&nbsp;&nbsp;
+ <a href="#M000069">save</a>&nbsp;&nbsp;
+ <a href="#M000070">save_as</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+ <div id="includes">
+ <h3 class="section-bar">Included Modules</h3>
+
+ <div id="includes-list">
+ <span class="include-name"><a href="MenuExtension.html">MenuExtension</a></span>
+ </div>
+ </div>
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000072" class="method-detail">
+ <a name="M000072"></a>
+
+ <div class="method-heading">
+ <a href="FileMenu.src/M000072.html" target="Code" class="method-signature"
+ onclick="popupCode('FileMenu.src/M000072.html');return false;">
+ <span class="method-name">create</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Create the menu.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000065" class="method-detail">
+ <a name="M000065"></a>
+
+ <div class="method-heading">
+ <a href="FileMenu.src/M000065.html" target="Code" class="method-signature"
+ onclick="popupCode('FileMenu.src/M000065.html');return false;">
+ <span class="method-name">new</span><span class="method-args">(item)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Clear the model and filename, but ask to <a
+href="FileMenu.html#M000069">save</a> the <a href="JSON.html">JSON</a>
+document, if unsaved changes have occured.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000066" class="method-detail">
+ <a name="M000066"></a>
+
+ <div class="method-heading">
+ <a href="FileMenu.src/M000066.html" target="Code" class="method-signature"
+ onclick="popupCode('FileMenu.src/M000066.html');return false;">
+ <span class="method-name">open</span><span class="method-args">(item)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Open a file and load it into the editor. Ask to <a
+href="FileMenu.html#M000069">save</a> the <a href="JSON.html">JSON</a>
+document first, if unsaved changes have occured.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000067" class="method-detail">
+ <a name="M000067"></a>
+
+ <div class="method-heading">
+ <a href="FileMenu.src/M000067.html" target="Code" class="method-signature"
+ onclick="popupCode('FileMenu.src/M000067.html');return false;">
+ <span class="method-name">open_location</span><span class="method-args">(item)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+ <div id="method-M000071" class="method-detail">
+ <a name="M000071"></a>
+
+ <div class="method-heading">
+ <a href="FileMenu.src/M000071.html" target="Code" class="method-signature"
+ onclick="popupCode('FileMenu.src/M000071.html');return false;">
+ <span class="method-name">quit</span><span class="method-args">(item)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Quit the editor, after asking to <a href="FileMenu.html#M000069">save</a>
+any unsaved changes first.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000068" class="method-detail">
+ <a name="M000068"></a>
+
+ <div class="method-heading">
+ <a href="FileMenu.src/M000068.html" target="Code" class="method-signature"
+ onclick="popupCode('FileMenu.src/M000068.html');return false;">
+ <span class="method-name">revert</span><span class="method-args">(item)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Revert the current <a href="JSON.html">JSON</a> document in the editor to
+the saved version.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000069" class="method-detail">
+ <a name="M000069"></a>
+
+ <div class="method-heading">
+ <a href="FileMenu.src/M000069.html" target="Code" class="method-signature"
+ onclick="popupCode('FileMenu.src/M000069.html');return false;">
+ <span class="method-name">save</span><span class="method-args">(item)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Save the current <a href="JSON.html">JSON</a> document.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000070" class="method-detail">
+ <a name="M000070"></a>
+
+ <div class="method-heading">
+ <a href="FileMenu.src/M000070.html" target="Code" class="method-signature"
+ onclick="popupCode('FileMenu.src/M000070.html');return false;">
+ <span class="method-name">save_as</span><span class="method-args">(item)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Save the current <a href="JSON.html">JSON</a> document under the given
+filename.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/FileMenu.src/M000065.html b/doc/classes/FileMenu.src/M000065.html
new file mode 100644
index 0000000..6307ee1
--- /dev/null
+++ b/doc/classes/FileMenu.src/M000065.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>new (FileMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 490</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">new</span>(<span class="ruby-identifier">item</span>)
+ <span class="ruby-identifier">window</span>.<span class="ruby-identifier">clear</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/FileMenu.src/M000066.html b/doc/classes/FileMenu.src/M000066.html
new file mode 100644
index 0000000..69e75aa
--- /dev/null
+++ b/doc/classes/FileMenu.src/M000066.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>open (FileMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 496</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">open</span>(<span class="ruby-identifier">item</span>)
+ <span class="ruby-identifier">window</span>.<span class="ruby-identifier">file_open</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/FileMenu.src/M000067.html b/doc/classes/FileMenu.src/M000067.html
new file mode 100644
index 0000000..986e814
--- /dev/null
+++ b/doc/classes/FileMenu.src/M000067.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>open_location (FileMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 500</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">open_location</span>(<span class="ruby-identifier">item</span>)
+ <span class="ruby-identifier">window</span>.<span class="ruby-identifier">location_open</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/FileMenu.src/M000068.html b/doc/classes/FileMenu.src/M000068.html
new file mode 100644
index 0000000..998989c
--- /dev/null
+++ b/doc/classes/FileMenu.src/M000068.html
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>revert (FileMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 505</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">revert</span>(<span class="ruby-identifier">item</span>)
+ <span class="ruby-identifier">window</span>.<span class="ruby-identifier">instance_eval</span> <span class="ruby-keyword kw">do</span>
+ <span class="ruby-ivar">@filename</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">file_open</span>(<span class="ruby-ivar">@filename</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/FileMenu.src/M000069.html b/doc/classes/FileMenu.src/M000069.html
new file mode 100644
index 0000000..aa1f95d
--- /dev/null
+++ b/doc/classes/FileMenu.src/M000069.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>save (FileMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 512</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">save</span>(<span class="ruby-identifier">item</span>)
+ <span class="ruby-identifier">window</span>.<span class="ruby-identifier">file_save</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/FileMenu.src/M000070.html b/doc/classes/FileMenu.src/M000070.html
new file mode 100644
index 0000000..589f575
--- /dev/null
+++ b/doc/classes/FileMenu.src/M000070.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>save_as (FileMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 517</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">save_as</span>(<span class="ruby-identifier">item</span>)
+ <span class="ruby-identifier">window</span>.<span class="ruby-identifier">file_save_as</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/FileMenu.src/M000071.html b/doc/classes/FileMenu.src/M000071.html
new file mode 100644
index 0000000..62452aa
--- /dev/null
+++ b/doc/classes/FileMenu.src/M000071.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>quit (FileMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 522</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">quit</span>(<span class="ruby-identifier">item</span>)
+ <span class="ruby-identifier">window</span>.<span class="ruby-identifier">quit</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/FileMenu.src/M000072.html b/doc/classes/FileMenu.src/M000072.html
new file mode 100644
index 0000000..d80f203
--- /dev/null
+++ b/doc/classes/FileMenu.src/M000072.html
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>create (FileMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 527</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create</span>
+ <span class="ruby-identifier">title</span> = <span class="ruby-constant">MenuItem</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'File'</span>)
+ <span class="ruby-identifier">title</span>.<span class="ruby-identifier">submenu</span> = <span class="ruby-identifier">menu</span>
+ <span class="ruby-identifier">add_item</span>(<span class="ruby-value str">'New'</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">method</span>(<span class="ruby-identifier">:new</span>))
+ <span class="ruby-identifier">add_item</span>(<span class="ruby-value str">'Open'</span>, <span class="ruby-value">?o</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">method</span>(<span class="ruby-identifier">:open</span>))
+ <span class="ruby-identifier">add_item</span>(<span class="ruby-value str">'Open location'</span>, <span class="ruby-value">?l</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">method</span>(<span class="ruby-identifier">:open_location</span>))
+ <span class="ruby-identifier">add_item</span>(<span class="ruby-value str">'Revert'</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">method</span>(<span class="ruby-identifier">:revert</span>))
+ <span class="ruby-identifier">add_separator</span>
+ <span class="ruby-identifier">add_item</span>(<span class="ruby-value str">'Save'</span>, <span class="ruby-value">?s</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">method</span>(<span class="ruby-identifier">:save</span>))
+ <span class="ruby-identifier">add_item</span>(<span class="ruby-value str">'Save As'</span>, <span class="ruby-value">?S</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">method</span>(<span class="ruby-identifier">:save_as</span>))
+ <span class="ruby-identifier">add_separator</span>
+ <span class="ruby-identifier">add_item</span>(<span class="ruby-value str">'Quit'</span>, <span class="ruby-value">?q</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">method</span>(<span class="ruby-identifier">:quit</span>))
+ <span class="ruby-identifier">title</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Gtk.html b/doc/classes/Gtk.html
new file mode 100644
index 0000000..6d8daea
--- /dev/null
+++ b/doc/classes/Gtk.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: Gtk</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">Gtk</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+ <div id="class-list">
+ <h3 class="section-bar">Classes and Modules</h3>
+
+ Class <a href="Gtk/TreeIter.html" class="link">Gtk::TreeIter</a><br />
+
+ </div>
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Gtk/TreeIter.html b/doc/classes/Gtk/TreeIter.html
new file mode 100644
index 0000000..e6d44c6
--- /dev/null
+++ b/doc/classes/Gtk/TreeIter.html
@@ -0,0 +1,271 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: Gtk::TreeIter</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">Gtk::TreeIter</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../files/lib/json/editor_rb.html">
+ lib/json/editor.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ <a href="../Object.html">
+ Object
+ </a>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="description">
+ <p>
+The <a href="TreeIter.html">Gtk::TreeIter</a> class is reopened and some
+auxiliary methods are added.
+</p>
+
+ </div>
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000092">content</a>&nbsp;&nbsp;
+ <a href="#M000093">content=</a>&nbsp;&nbsp;
+ <a href="#M000087">each</a>&nbsp;&nbsp;
+ <a href="#M000088">recursive_each</a>&nbsp;&nbsp;
+ <a href="#M000089">remove_subtree</a>&nbsp;&nbsp;
+ <a href="#M000090">type</a>&nbsp;&nbsp;
+ <a href="#M000091">type=</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+ <div id="includes">
+ <h3 class="section-bar">Included Modules</h3>
+
+ <div id="includes-list">
+ <span class="include-name"><a href="../Enumerable.html">Enumerable</a></span>
+ </div>
+ </div>
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000092" class="method-detail">
+ <a name="M000092"></a>
+
+ <div class="method-heading">
+ <a href="TreeIter.src/M000092.html" target="Code" class="method-signature"
+ onclick="popupCode('TreeIter.src/M000092.html');return false;">
+ <span class="method-name">content</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Returns the <a href="TreeIter.html#M000092">content</a> of this node.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000093" class="method-detail">
+ <a name="M000093"></a>
+
+ <div class="method-heading">
+ <a href="TreeIter.src/M000093.html" target="Code" class="method-signature"
+ onclick="popupCode('TreeIter.src/M000093.html');return false;">
+ <span class="method-name">content=</span><span class="method-args">(value)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Sets the <a href="TreeIter.html#M000092">content</a> of this node to
+<em>value</em>.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000087" class="method-detail">
+ <a name="M000087"></a>
+
+ <div class="method-heading">
+ <a href="TreeIter.src/M000087.html" target="Code" class="method-signature"
+ onclick="popupCode('TreeIter.src/M000087.html');return false;">
+ <span class="method-name">each</span><span class="method-args">() {|nth_child(i) }| ...}</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Traverse <a href="TreeIter.html#M000087">each</a> of this <a
+href="TreeIter.html">Gtk::TreeIter</a> instance&#8216;s children and yield
+to them.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000088" class="method-detail">
+ <a name="M000088"></a>
+
+ <div class="method-heading">
+ <a href="TreeIter.src/M000088.html" target="Code" class="method-signature"
+ onclick="popupCode('TreeIter.src/M000088.html');return false;">
+ <span class="method-name">recursive_each</span><span class="method-args">() {|self| ...}</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Recursively traverse all nodes of this <a
+href="TreeIter.html">Gtk::TreeIter</a>&#8216;s subtree (including self) and
+yield to them.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000089" class="method-detail">
+ <a name="M000089"></a>
+
+ <div class="method-heading">
+ <a href="TreeIter.src/M000089.html" target="Code" class="method-signature"
+ onclick="popupCode('TreeIter.src/M000089.html');return false;">
+ <span class="method-name">remove_subtree</span><span class="method-args">(model)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Remove the subtree of this <a href="TreeIter.html">Gtk::TreeIter</a>
+instance from the model <em>model</em>.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000090" class="method-detail">
+ <a name="M000090"></a>
+
+ <div class="method-heading">
+ <a href="TreeIter.src/M000090.html" target="Code" class="method-signature"
+ onclick="popupCode('TreeIter.src/M000090.html');return false;">
+ <span class="method-name">type</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Returns the <a href="TreeIter.html#M000090">type</a> of this node.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000091" class="method-detail">
+ <a name="M000091"></a>
+
+ <div class="method-heading">
+ <a href="TreeIter.src/M000091.html" target="Code" class="method-signature"
+ onclick="popupCode('TreeIter.src/M000091.html');return false;">
+ <span class="method-name">type=</span><span class="method-args">(value)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Sets the <a href="TreeIter.html#M000090">type</a> of this node to
+<em>value</em>. This implies setting the respective icon accordingly.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Gtk/TreeIter.src/M000087.html b/doc/classes/Gtk/TreeIter.src/M000087.html
new file mode 100644
index 0000000..f0d998d
--- /dev/null
+++ b/doc/classes/Gtk/TreeIter.src/M000087.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>each (Gtk::TreeIter)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 161</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>
+ <span class="ruby-identifier">n_children</span>.<span class="ruby-identifier">times</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">nth_child</span>(<span class="ruby-identifier">i</span>) }
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Gtk/TreeIter.src/M000088.html b/doc/classes/Gtk/TreeIter.src/M000088.html
new file mode 100644
index 0000000..6a5e48c
--- /dev/null
+++ b/doc/classes/Gtk/TreeIter.src/M000088.html
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>recursive_each (Gtk::TreeIter)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 167</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">recursive_each</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
+ <span class="ruby-keyword kw">yield</span> <span class="ruby-keyword kw">self</span>
+ <span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">i</span>.<span class="ruby-identifier">recursive_each</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Gtk/TreeIter.src/M000089.html b/doc/classes/Gtk/TreeIter.src/M000089.html
new file mode 100644
index 0000000..7e44f27
--- /dev/null
+++ b/doc/classes/Gtk/TreeIter.src/M000089.html
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>remove_subtree (Gtk::TreeIter)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 176</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remove_subtree</span>(<span class="ruby-identifier">model</span>)
+ <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">current</span> = <span class="ruby-identifier">first_child</span>
+ <span class="ruby-identifier">model</span>.<span class="ruby-identifier">remove</span>(<span class="ruby-identifier">current</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Gtk/TreeIter.src/M000090.html b/doc/classes/Gtk/TreeIter.src/M000090.html
new file mode 100644
index 0000000..49a1614
--- /dev/null
+++ b/doc/classes/Gtk/TreeIter.src/M000090.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>type (Gtk::TreeIter)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 183</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">type</span>
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-constant">TYPE_COL</span>]
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Gtk/TreeIter.src/M000091.html b/doc/classes/Gtk/TreeIter.src/M000091.html
new file mode 100644
index 0000000..9e94fab
--- /dev/null
+++ b/doc/classes/Gtk/TreeIter.src/M000091.html
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>type= (Gtk::TreeIter)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 189</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">type=</span>(<span class="ruby-identifier">value</span>)
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-constant">TYPE_COL</span>] = <span class="ruby-identifier">value</span>
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-constant">ICON_COL</span>] = <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">fetch_icon</span>(<span class="ruby-identifier">value</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Gtk/TreeIter.src/M000092.html b/doc/classes/Gtk/TreeIter.src/M000092.html
new file mode 100644
index 0000000..dd9d2ee
--- /dev/null
+++ b/doc/classes/Gtk/TreeIter.src/M000092.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>content (Gtk::TreeIter)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 195</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">content</span>
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-constant">CONTENT_COL</span>]
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Gtk/TreeIter.src/M000093.html b/doc/classes/Gtk/TreeIter.src/M000093.html
new file mode 100644
index 0000000..b55c4de
--- /dev/null
+++ b/doc/classes/Gtk/TreeIter.src/M000093.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>content= (Gtk::TreeIter)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 200</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">content=</span>(<span class="ruby-identifier">value</span>)
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-constant">CONTENT_COL</span>] = <span class="ruby-identifier">value</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON.html b/doc/classes/JSON.html
new file mode 100644
index 0000000..e4c889e
--- /dev/null
+++ b/doc/classes/JSON.html
@@ -0,0 +1,611 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../files/lib/json_rb.html">
+ lib/json.rb
+ </a>
+ <br />
+ <a href="../files/lib/json/common_rb.html">
+ lib/json/common.rb
+ </a>
+ <br />
+ <a href="../files/lib/json/pure/generator_rb.html">
+ lib/json/pure/generator.rb
+ </a>
+ <br />
+ <a href="../files/lib/json/pure/parser_rb.html">
+ lib/json/pure/parser.rb
+ </a>
+ <br />
+ <a href="../files/lib/json/pure_rb.html">
+ lib/json/pure.rb
+ </a>
+ <br />
+ <a href="../files/lib/json/version_rb.html">
+ lib/json/version.rb
+ </a>
+ <br />
+ <a href="../files/lib/json/ext_rb.html">
+ lib/json/ext.rb
+ </a>
+ <br />
+ <a href="../files/lib/json/editor_rb.html">
+ lib/json/editor.rb
+ </a>
+ <br />
+ <a href="../files/ext/json/ext/parser_c.html">
+ ext/json/ext/parser.c
+ </a>
+ <br />
+ <a href="../files/ext/json/ext/generator_c.html">
+ ext/json/ext/generator.c
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000095">[]</a>&nbsp;&nbsp;
+ <a href="#M000104">dump</a>&nbsp;&nbsp;
+ <a href="#M000099">fast_generate</a>&nbsp;&nbsp;
+ <a href="#M000098">generate</a>&nbsp;&nbsp;
+ <a href="#M000105">iconv</a>&nbsp;&nbsp;
+ <a href="#M000101">load</a>&nbsp;&nbsp;
+ <a href="#M000096">parse</a>&nbsp;&nbsp;
+ <a href="#M000097">parse!</a>&nbsp;&nbsp;
+ <a href="#M000100">pretty_generate</a>&nbsp;&nbsp;
+ <a href="#M000102">recurse_proc</a>&nbsp;&nbsp;
+ <a href="#M000103">restore</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+ <div id="class-list">
+ <h3 class="section-bar">Classes and Modules</h3>
+
+ Module <a href="JSON/Editor.html" class="link">JSON::Editor</a><br />
+Module <a href="JSON/Ext.html" class="link">JSON::Ext</a><br />
+Module <a href="JSON/Pure.html" class="link">JSON::Pure</a><br />
+Class <a href="JSON/GeneratorError.html" class="link">JSON::GeneratorError</a><br />
+Class <a href="JSON/JSONError.html" class="link">JSON::JSONError</a><br />
+Class <a href="JSON/MissingUnicodeSupport.html" class="link">JSON::MissingUnicodeSupport</a><br />
+Class <a href="JSON/NestingError.html" class="link">JSON::NestingError</a><br />
+Class <a href="JSON/ParserError.html" class="link">JSON::ParserError</a><br />
+
+ </div>
+
+ <div id="constants-list">
+ <h3 class="section-bar">Constants</h3>
+
+ <div class="name-list">
+ <table summary="Constants">
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">NaN</td>
+ <td>=</td>
+ <td class="context-item-value">0.0/0</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">Infinity</td>
+ <td>=</td>
+ <td class="context-item-value">1.0/0</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">MinusInfinity</td>
+ <td>=</td>
+ <td class="context-item-value">-Infinity</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">UnparserError</td>
+ <td>=</td>
+ <td class="context-item-value">GeneratorError</td>
+ <td width="3em">&nbsp;</td>
+ <td class="context-item-desc">
+For backwards compatibility
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">JSON_LOADED</td>
+ <td>=</td>
+ <td class="context-item-value">true</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">VERSION</td>
+ <td>=</td>
+ <td class="context-item-value">'2.0.0'</td>
+ <td width="3em">&nbsp;</td>
+ <td class="context-item-desc">
+<a href="JSON.html">JSON</a> version
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">JSON_LOADED</td>
+ <td>=</td>
+ <td class="context-item-value">true</td>
+ </tr>
+ </table>
+ </div>
+ </div>
+
+
+
+ <div id="attribute-list">
+ <h3 class="section-bar">Attributes</h3>
+
+ <div class="name-list">
+ <table>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">create_id</td>
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
+ <td class="context-item-desc">
+This is create identifier, that is used to decide, if the
+<em>json_create</em> hook of a class should be called. It defaults to
+&#8216;json_class&#8217;.
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">generator</td>
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+ <td class="context-item-desc">
+Returns the <a href="JSON.html">JSON</a> generator modul, that is used by
+<a href="JSON.html">JSON</a>. This might be either <a
+href="JSON/Ext/Generator.html">JSON::Ext::Generator</a> or <a
+href="JSON/Pure/Generator.html">JSON::Pure::Generator</a>.
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">parser</td>
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+ <td class="context-item-desc">
+Returns the <a href="JSON.html">JSON</a> parser class, that is used by <a
+href="JSON.html">JSON</a>. This might be either <a
+href="JSON/Ext/Parser.html">JSON::Ext::Parser</a> or <a
+href="JSON/Pure/Parser.html">JSON::Pure::Parser</a>.
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">state</td>
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
+ <td class="context-item-desc">
+Returns the <a href="JSON.html">JSON</a> generator state class, that is
+used by <a href="JSON.html">JSON</a>. This might be either <a
+href="JSON/Ext/Generator/State.html">JSON::Ext::Generator::State</a> or <a
+href="JSON/Pure/Generator/State.html">JSON::Pure::Generator::State</a>.
+
+</td>
+ </tr>
+ </table>
+ </div>
+ </div>
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Class methods</h3>
+
+ <div id="method-M000095" class="method-detail">
+ <a name="M000095"></a>
+
+ <div class="method-heading">
+ <a href="JSON.src/M000095.html" target="Code" class="method-signature"
+ onclick="popupCode('JSON.src/M000095.html');return false;">
+ <span class="method-name">[]</span><span class="method-args">(object, opts = {})</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+If <em>object</em> is string-like <a href="JSON.html#M000096">parse</a> the
+string and return the parsed result as a Ruby data structure. Otherwise <a
+href="JSON.html#M000098">generate</a> a <a href="JSON.html">JSON</a> text
+from the Ruby data structure object and return it.
+</p>
+<p>
+The <em>opts</em> argument is passed through to generate/parse
+respectively, see <a href="JSON.html#M000098">generate</a> and <a
+href="JSON.html#M000096">parse</a> for their documentation.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000105" class="method-detail">
+ <a name="M000105"></a>
+
+ <div class="method-heading">
+ <a href="JSON.src/M000105.html" target="Code" class="method-signature"
+ onclick="popupCode('JSON.src/M000105.html');return false;">
+ <span class="method-name">iconv</span><span class="method-args">(to, from, string)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Shortuct for <a href="JSON.html#M000105">iconv</a>.
+</p>
+ </div>
+ </div>
+
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000104" class="method-detail">
+ <a name="M000104"></a>
+
+ <div class="method-heading">
+ <a href="JSON.src/M000104.html" target="Code" class="method-signature"
+ onclick="popupCode('JSON.src/M000104.html');return false;">
+ <span class="method-name">dump</span><span class="method-args">(obj, anIO = nil, limit = nil)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Dumps <em>obj</em> as a <a href="JSON.html">JSON</a> string, i.e. calls <a
+href="JSON.html#M000098">generate</a> on the object and returns the result.
+</p>
+<p>
+If anIO (an IO like object or an object that responds to the write method)
+was given, the resulting <a href="JSON.html">JSON</a> is written to it.
+</p>
+<p>
+If the number of nested arrays or objects exceeds <em>limit</em> an
+ArgumentError exception is raised. This argument is similar (but not
+exactly the same!) to the <em>limit</em> argument in Marshal.dump.
+</p>
+<p>
+This method is part of the implementation of the load/dump interface of
+Marshal and YAML.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000099" class="method-detail">
+ <a name="M000099"></a>
+
+ <div class="method-heading">
+ <a href="JSON.src/M000099.html" target="Code" class="method-signature"
+ onclick="popupCode('JSON.src/M000099.html');return false;">
+ <span class="method-name">fast_generate</span><span class="method-args">(obj, opts = nil)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Generate a <a href="JSON.html">JSON</a> document from the Ruby data
+structure <em>obj</em> and return it. This method disables the checks for
+circles in Ruby objects.
+</p>
+<p>
+<b>WARNING</b>: Be careful not to pass any Ruby data structures with
+circles as <em>obj</em> argument, because this will cause <a
+href="JSON.html">JSON</a> to go into an infinite loop.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000098" class="method-detail">
+ <a name="M000098"></a>
+
+ <div class="method-heading">
+ <a href="JSON.src/M000098.html" target="Code" class="method-signature"
+ onclick="popupCode('JSON.src/M000098.html');return false;">
+ <span class="method-name">generate</span><span class="method-args">(obj, opts = nil)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Generate a <a href="JSON.html">JSON</a> document from the Ruby data
+structure <em>obj</em> and return it. <em>state</em> is * a JSON::State
+object,
+</p>
+<ul>
+<li>or a Hash like object (responding to to_hash),
+
+</li>
+<li>an object convertible into a hash by a to_h method,
+
+</li>
+</ul>
+<p>
+that is used as or to configure a State object.
+</p>
+<p>
+It defaults to a state object, that creates the shortest possible <a
+href="JSON.html">JSON</a> text in one line, checks for circular data
+structures and doesn&#8216;t allow NaN, Infinity, and -Infinity.
+</p>
+<p>
+A <em>state</em> hash can have the following keys:
+</p>
+<ul>
+<li><b>indent</b>: a string used to indent levels (default: &#8217;&#8217;),
+
+</li>
+<li><b>space</b>: a string that is put after, a : or , delimiter (default:
+&#8217;&#8217;),
+
+</li>
+<li><b>space_before</b>: a string that is put before a : pair delimiter
+(default: &#8217;&#8217;),
+
+</li>
+<li><b>object_nl</b>: a string that is put at the end of a <a
+href="JSON.html">JSON</a> object (default: &#8217;&#8217;),
+
+</li>
+<li><b>array_nl</b>: a string that is put at the end of a <a
+href="JSON.html">JSON</a> array (default: &#8217;&#8217;),
+
+</li>
+<li><b>allow_nan</b>: true if NaN, Infinity, and -Infinity should be generated,
+otherwise an exception is thrown, if these values are encountered. This
+options defaults to false.
+
+</li>
+<li><b>max_nesting</b>: The maximum depth of nesting allowed in the data
+structures from which <a href="JSON.html">JSON</a> is to be generated.
+Disable depth checking with :max_nesting =&gt; false, it defaults to 19.
+
+</li>
+</ul>
+<p>
+See also the <a href="JSON.html#M000099">fast_generate</a> for the fastest
+creation method with the least amount of sanity checks, and the <a
+href="JSON.html#M000100">pretty_generate</a> method for some defaults for a
+pretty output.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000101" class="method-detail">
+ <a name="M000101"></a>
+
+ <div class="method-heading">
+ <a href="JSON.src/M000101.html" target="Code" class="method-signature"
+ onclick="popupCode('JSON.src/M000101.html');return false;">
+ <span class="method-name">load</span><span class="method-args">(source, proc = nil)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Load a ruby data structure from a <a href="JSON.html">JSON</a>
+<em>source</em> and return it. A source can either be a string-like object,
+an IO like object, or an object responding to the read method. If
+<em>proc</em> was given, it will be called with any nested Ruby object as
+an argument recursively in depth first order.
+</p>
+<p>
+This method is part of the implementation of the load/dump interface of
+Marshal and YAML.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000096" class="method-detail">
+ <a name="M000096"></a>
+
+ <div class="method-heading">
+ <a href="JSON.src/M000096.html" target="Code" class="method-signature"
+ onclick="popupCode('JSON.src/M000096.html');return false;">
+ <span class="method-name">parse</span><span class="method-args">(source, opts = {})</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Parse the <a href="JSON.html">JSON</a> document <em>source</em> into a Ruby
+data structure and return it.
+</p>
+<p>
+<em>opts</em> can have the following keys:
+</p>
+<ul>
+<li><b>max_nesting</b>: The maximum depth of nesting allowed in the parsed data
+structures. Disable depth checking with :max_nesting =&gt; false, it
+defaults to 19.
+
+</li>
+<li><b>allow_nan</b>: If set to true, allow NaN, Infinity and -Infinity in
+defiance of RFC 4627 to be parsed by the Parser. This option defaults to
+false.
+
+</li>
+<li><b>create_additions</b>: If set to false, the Parser doesn&#8216;t create
+additions even if a matchin class and create_id was found. This option
+defaults to true.
+
+</li>
+</ul>
+ </div>
+ </div>
+
+ <div id="method-M000097" class="method-detail">
+ <a name="M000097"></a>
+
+ <div class="method-heading">
+ <a href="JSON.src/M000097.html" target="Code" class="method-signature"
+ onclick="popupCode('JSON.src/M000097.html');return false;">
+ <span class="method-name">parse!</span><span class="method-args">(source, opts = {})</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Parse the <a href="JSON.html">JSON</a> document <em>source</em> into a Ruby
+data structure and return it. The bang version of the <a
+href="JSON.html#M000096">parse</a> method, defaults to the more dangerous
+values for the <em>opts</em> hash, so be sure only to <a
+href="JSON.html#M000096">parse</a> trusted <em>source</em> documents.
+</p>
+<p>
+<em>opts</em> can have the following keys:
+</p>
+<ul>
+<li><b>max_nesting</b>: The maximum depth of nesting allowed in the parsed data
+structures. Enable depth checking with :max_nesting =&gt; anInteger. The <a
+href="JSON.html#M000097">parse!</a> methods defaults to not doing max depth
+checking: This can be dangerous, if someone wants to fill up your stack.
+
+</li>
+<li><b>allow_nan</b>: If set to true, allow NaN, Infinity, and -Infinity in
+defiance of RFC 4627 to be parsed by the Parser. This option defaults to
+true.
+
+</li>
+<li><b>create_additions</b>: If set to false, the Parser doesn&#8216;t create
+additions even if a matchin class and create_id was found. This option
+defaults to true.
+
+</li>
+</ul>
+ </div>
+ </div>
+
+ <div id="method-M000100" class="method-detail">
+ <a name="M000100"></a>
+
+ <div class="method-heading">
+ <a href="JSON.src/M000100.html" target="Code" class="method-signature"
+ onclick="popupCode('JSON.src/M000100.html');return false;">
+ <span class="method-name">pretty_generate</span><span class="method-args">(obj, opts = nil)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Generate a <a href="JSON.html">JSON</a> document from the Ruby data
+structure <em>obj</em> and return it. The returned document is a prettier
+form of the document returned by unparse.
+</p>
+<p>
+The <em>opts</em> argument can be used to configure the generator, see the
+<a href="JSON.html#M000098">generate</a> method for a more detailed
+explanation.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000102" class="method-detail">
+ <a name="M000102"></a>
+
+ <div class="method-heading">
+ <a href="JSON.src/M000102.html" target="Code" class="method-signature"
+ onclick="popupCode('JSON.src/M000102.html');return false;">
+ <span class="method-name">recurse_proc</span><span class="method-args">(result, &amp;proc)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+ <div id="method-M000103" class="method-detail">
+ <a name="M000103"></a>
+
+ <div class="method-heading">
+ <span class="method-name">restore</span><span class="method-args">(source, proc = nil)</span>
+ </div>
+
+ <div class="method-description">
+ <p>
+Alias for <a href="JSON.html#M000101">load</a>
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON.src/M000095.html b/doc/classes/JSON.src/M000095.html
new file mode 100644
index 0000000..4653d10
--- /dev/null
+++ b/doc/classes/JSON.src/M000095.html
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>[] (JSON)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/common.rb, line 12</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">object</span>, <span class="ruby-identifier">opts</span> = {})
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">object</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:to_str</span>
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">object</span>.<span class="ruby-identifier">to_str</span>, <span class="ruby-identifier">opts</span> =<span class="ruby-operator">&gt;</span> {})
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">generate</span>(<span class="ruby-identifier">object</span>, <span class="ruby-identifier">opts</span> =<span class="ruby-operator">&gt;</span> {})
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON.src/M000096.html b/doc/classes/JSON.src/M000096.html
new file mode 100644
index 0000000..b39597d
--- /dev/null
+++ b/doc/classes/JSON.src/M000096.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>parse (JSON)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/common.rb, line 136</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse</span>(<span class="ruby-identifier">source</span>, <span class="ruby-identifier">opts</span> = {})
+ <span class="ruby-constant">Parser</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">source</span>, <span class="ruby-identifier">opts</span>).<span class="ruby-identifier">parse</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON.src/M000097.html b/doc/classes/JSON.src/M000097.html
new file mode 100644
index 0000000..f431bf8
--- /dev/null
+++ b/doc/classes/JSON.src/M000097.html
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>parse! (JSON)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/common.rb, line 155</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse!</span>(<span class="ruby-identifier">source</span>, <span class="ruby-identifier">opts</span> = {})
+ <span class="ruby-identifier">opts</span> = {
+ <span class="ruby-identifier">:max_nesting</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">false</span>,
+ <span class="ruby-identifier">:allow_nan</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">true</span>
+ }.<span class="ruby-identifier">update</span>(<span class="ruby-identifier">opts</span>)
+ <span class="ruby-constant">Parser</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">source</span>, <span class="ruby-identifier">opts</span>).<span class="ruby-identifier">parse</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON.src/M000098.html b/doc/classes/JSON.src/M000098.html
new file mode 100644
index 0000000..93fb264
--- /dev/null
+++ b/doc/classes/JSON.src/M000098.html
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>generate (JSON)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/common.rb, line 189</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generate</span>(<span class="ruby-identifier">obj</span>, <span class="ruby-identifier">opts</span> = <span class="ruby-keyword kw">nil</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:to_hash</span>
+ <span class="ruby-identifier">opts</span> = <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">to_hash</span>
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:to_h</span>
+ <span class="ruby-identifier">opts</span> = <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">to_h</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">&quot;can't convert #{opts.class} into Hash&quot;</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">state</span> = <span class="ruby-constant">SAFE_STATE_PROTOTYPE</span>.<span class="ruby-identifier">dup</span>
+ <span class="ruby-identifier">state</span> = <span class="ruby-identifier">state</span>.<span class="ruby-identifier">configure</span>(<span class="ruby-identifier">opts</span>)
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">state</span> = <span class="ruby-constant">SAFE_STATE_PROTOTYPE</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">state</span>.<span class="ruby-identifier">generate</span>(<span class="ruby-identifier">obj</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON.src/M000099.html b/doc/classes/JSON.src/M000099.html
new file mode 100644
index 0000000..b6d6cbb
--- /dev/null
+++ b/doc/classes/JSON.src/M000099.html
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>fast_generate (JSON)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/common.rb, line 218</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fast_generate</span>(<span class="ruby-identifier">obj</span>, <span class="ruby-identifier">opts</span> = <span class="ruby-keyword kw">nil</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:to_hash</span>
+ <span class="ruby-identifier">opts</span> = <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">to_hash</span>
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:to_h</span>
+ <span class="ruby-identifier">opts</span> = <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">to_h</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">&quot;can't convert #{opts.class} into Hash&quot;</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">state</span> = <span class="ruby-constant">FAST_STATE_PROTOTYPE</span>.<span class="ruby-identifier">dup</span>
+ <span class="ruby-identifier">state</span>.<span class="ruby-identifier">configure</span>(<span class="ruby-identifier">opts</span>)
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">state</span> = <span class="ruby-constant">FAST_STATE_PROTOTYPE</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">state</span>.<span class="ruby-identifier">generate</span>(<span class="ruby-identifier">obj</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON.src/M000100.html b/doc/classes/JSON.src/M000100.html
new file mode 100644
index 0000000..fce455f
--- /dev/null
+++ b/doc/classes/JSON.src/M000100.html
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>pretty_generate (JSON)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/common.rb, line 247</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pretty_generate</span>(<span class="ruby-identifier">obj</span>, <span class="ruby-identifier">opts</span> = <span class="ruby-keyword kw">nil</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:to_hash</span>
+ <span class="ruby-identifier">opts</span> = <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">to_hash</span>
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:to_h</span>
+ <span class="ruby-identifier">opts</span> = <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">to_h</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">&quot;can't convert #{opts.class} into Hash&quot;</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">state</span> = <span class="ruby-constant">PRETTY_STATE_PROTOTYPE</span>.<span class="ruby-identifier">dup</span>
+ <span class="ruby-identifier">state</span>.<span class="ruby-identifier">configure</span>(<span class="ruby-identifier">opts</span>)
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">state</span> = <span class="ruby-constant">PRETTY_STATE_PROTOTYPE</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">state</span>.<span class="ruby-identifier">generate</span>(<span class="ruby-identifier">obj</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON.src/M000101.html b/doc/classes/JSON.src/M000101.html
new file mode 100644
index 0000000..1a75f05
--- /dev/null
+++ b/doc/classes/JSON.src/M000101.html
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>load (JSON)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/common.rb, line 277</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">load</span>(<span class="ruby-identifier">source</span>, <span class="ruby-identifier">proc</span> = <span class="ruby-keyword kw">nil</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">source</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:to_str</span>
+ <span class="ruby-identifier">source</span> = <span class="ruby-identifier">source</span>.<span class="ruby-identifier">to_str</span>
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">source</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:to_io</span>
+ <span class="ruby-identifier">source</span> = <span class="ruby-identifier">source</span>.<span class="ruby-identifier">to_io</span>.<span class="ruby-identifier">read</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">source</span> = <span class="ruby-identifier">source</span>.<span class="ruby-identifier">read</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">parse</span>(<span class="ruby-identifier">source</span>, <span class="ruby-identifier">:max_nesting</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">false</span>, <span class="ruby-identifier">:allow_nan</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">true</span>)
+ <span class="ruby-identifier">recurse_proc</span>(<span class="ruby-identifier">result</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">proc</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">proc</span>
+ <span class="ruby-identifier">result</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON.src/M000102.html b/doc/classes/JSON.src/M000102.html
new file mode 100644
index 0000000..3a05c5d
--- /dev/null
+++ b/doc/classes/JSON.src/M000102.html
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>recurse_proc (JSON)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/common.rb, line 290</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">recurse_proc</span>(<span class="ruby-identifier">result</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">proc</span>)
+ <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">result</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Array</span>
+ <span class="ruby-identifier">result</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-identifier">recurse_proc</span> <span class="ruby-identifier">x</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">proc</span> }
+ <span class="ruby-identifier">proc</span>.<span class="ruby-identifier">call</span> <span class="ruby-identifier">result</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Hash</span>
+ <span class="ruby-identifier">result</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span><span class="ruby-operator">|</span> <span class="ruby-identifier">recurse_proc</span> <span class="ruby-identifier">x</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">proc</span>; <span class="ruby-identifier">recurse_proc</span> <span class="ruby-identifier">y</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">proc</span> }
+ <span class="ruby-identifier">proc</span>.<span class="ruby-identifier">call</span> <span class="ruby-identifier">result</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">proc</span>.<span class="ruby-identifier">call</span> <span class="ruby-identifier">result</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON.src/M000104.html b/doc/classes/JSON.src/M000104.html
new file mode 100644
index 0000000..7bd772a
--- /dev/null
+++ b/doc/classes/JSON.src/M000104.html
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>dump (JSON)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/common.rb, line 318</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dump</span>(<span class="ruby-identifier">obj</span>, <span class="ruby-identifier">anIO</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">limit</span> = <span class="ruby-keyword kw">nil</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">anIO</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">limit</span>.<span class="ruby-identifier">nil?</span>
+ <span class="ruby-identifier">anIO</span> = <span class="ruby-identifier">anIO</span>.<span class="ruby-identifier">to_io</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">anIO</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:to_io</span>)
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">anIO</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:write</span>)
+ <span class="ruby-identifier">limit</span> = <span class="ruby-identifier">anIO</span>
+ <span class="ruby-identifier">anIO</span> = <span class="ruby-keyword kw">nil</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">limit</span> <span class="ruby-operator">||=</span> <span class="ruby-value">0</span>
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">generate</span>(<span class="ruby-identifier">obj</span>, <span class="ruby-identifier">:allow_nan</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">true</span>, <span class="ruby-identifier">:max_nesting</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">limit</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">anIO</span>
+ <span class="ruby-identifier">anIO</span>.<span class="ruby-identifier">write</span> <span class="ruby-identifier">result</span>
+ <span class="ruby-identifier">anIO</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">result</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">JSON</span><span class="ruby-operator">::</span><span class="ruby-constant">NestingError</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;exceed depth limit&quot;</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON.src/M000105.html b/doc/classes/JSON.src/M000105.html
new file mode 100644
index 0000000..db40455
--- /dev/null
+++ b/doc/classes/JSON.src/M000105.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>iconv (JSON)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/common.rb, line 339</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">iconv</span>(<span class="ruby-identifier">to</span>, <span class="ruby-identifier">from</span>, <span class="ruby-identifier">string</span>)
+ <span class="ruby-constant">Iconv</span>.<span class="ruby-identifier">iconv</span>(<span class="ruby-identifier">to</span>, <span class="ruby-identifier">from</span>, <span class="ruby-identifier">string</span>).<span class="ruby-identifier">first</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Editor.html b/doc/classes/JSON/Editor.html
new file mode 100644
index 0000000..19719b5
--- /dev/null
+++ b/doc/classes/JSON/Editor.html
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Editor</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Editor</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../files/lib/json/editor_rb.html">
+ lib/json/editor.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+ <div id="includes">
+ <h3 class="section-bar">Included Modules</h3>
+
+ <div id="includes-list">
+ <span class="include-name"><a href="../Gtk.html">Gtk</a></span>
+ </div>
+ </div>
+
+ <div id="section">
+
+
+ <div id="constants-list">
+ <h3 class="section-bar">Constants</h3>
+
+ <div class="name-list">
+ <table summary="Constants">
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">TITLE</td>
+ <td>=</td>
+ <td class="context-item-value">'JSON Editor'.freeze</td>
+ <td width="3em">&nbsp;</td>
+ <td class="context-item-desc">
+Beginning of the editor window title
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">CONTENT_COL</td>
+ <td>=</td>
+ <td class="context-item-value">0, 1, 2</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">CONTAINER_TYPES</td>
+ <td>=</td>
+ <td class="context-item-value">%w[Array Hash].sort</td>
+ <td width="3em">&nbsp;</td>
+ <td class="context-item-desc">
+<a href="../JSON.html">JSON</a> primitive types (Containers)
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">ALL_TYPES</td>
+ <td>=</td>
+ <td class="context-item-value">(%w[TrueClass FalseClass Numeric String NilClass] + CONTAINER_TYPES).sort</td>
+ <td width="3em">&nbsp;</td>
+ <td class="context-item-desc">
+All <a href="../JSON.html">JSON</a> primitive types
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">ALL_NODES</td>
+ <td>=</td>
+ <td class="context-item-value">(ALL_TYPES + %w[Key]).sort</td>
+ <td width="3em">&nbsp;</td>
+ <td class="context-item-desc">
+The Nodes necessary for the tree representation of a <a
+href="../JSON.html">JSON</a> document
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">DEFAULT_DIALOG_KEY_PRESS_HANDLER</td>
+ <td>=</td>
+ <td class="context-item-value">lambda do |dialog, event| case event.keyval</td>
+ </tr>
+ </table>
+ </div>
+ </div>
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext.html b/doc/classes/JSON/Ext.html
new file mode 100644
index 0000000..61d49e0
--- /dev/null
+++ b/doc/classes/JSON/Ext.html
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Ext</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Ext</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../files/lib/json/ext_rb.html">
+ lib/json/ext.rb
+ </a>
+ <br />
+ <a href="../../files/ext/json/ext/parser_c.html">
+ ext/json/ext/parser.c
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+ <div id="class-list">
+ <h3 class="section-bar">Classes and Modules</h3>
+
+ Module <a href="Ext/Generator.html" class="link">JSON::Ext::Generator</a><br />
+Class <a href="Ext/Parser.html" class="link">JSON::Ext::Parser</a><br />
+
+ </div>
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator.html b/doc/classes/JSON/Ext/Generator.html
new file mode 100644
index 0000000..8957268
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator.html
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Ext::Generator</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Ext::Generator</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../files/ext/json/ext/parser_c.html">
+ ext/json/ext/parser.c
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="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>
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+ <div id="class-list">
+ <h3 class="section-bar">Classes and Modules</h3>
+
+ Module <a href="Generator/GeneratorMethods.html" class="link">JSON::Ext::Generator::GeneratorMethods</a><br />
+Class <a href="Generator/State.html" class="link">JSON::Ext::Generator::State</a><br />
+
+ </div>
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</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..fb77fc6
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods.html
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Ext::Generator::GeneratorMethods</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Ext::Generator::GeneratorMethods</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../../files/ext/json/ext/generator_c.html">
+ ext/json/ext/generator.c
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+ <div id="class-list">
+ <h3 class="section-bar">Classes and Modules</h3>
+
+ Module <a href="GeneratorMethods/Array.html" class="link">JSON::Ext::Generator::GeneratorMethods::Array</a><br />
+Module <a href="GeneratorMethods/FalseClass.html" class="link">JSON::Ext::Generator::GeneratorMethods::FalseClass</a><br />
+Module <a href="GeneratorMethods/Float.html" class="link">JSON::Ext::Generator::GeneratorMethods::Float</a><br />
+Module <a href="GeneratorMethods/Hash.html" class="link">JSON::Ext::Generator::GeneratorMethods::Hash</a><br />
+Module <a href="GeneratorMethods/Integer.html" class="link">JSON::Ext::Generator::GeneratorMethods::Integer</a><br />
+Module <a href="GeneratorMethods/NilClass.html" class="link">JSON::Ext::Generator::GeneratorMethods::NilClass</a><br />
+Module <a href="GeneratorMethods/Object.html" class="link">JSON::Ext::Generator::GeneratorMethods::Object</a><br />
+Module <a href="GeneratorMethods/String.html" class="link">JSON::Ext::Generator::GeneratorMethods::String</a><br />
+Module <a href="GeneratorMethods/TrueClass.html" class="link">JSON::Ext::Generator::GeneratorMethods::TrueClass</a><br />
+
+ </div>
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</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..cd985bc
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Array.html
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Ext::Generator::GeneratorMethods::Array</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Ext::Generator::GeneratorMethods::Array</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../../../files/ext/json/ext/generator_c.html">
+ ext/json/ext/generator.c
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000109">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000109" class="method-detail">
+ <a name="M000109"></a>
+
+ <div class="method-heading">
+ <a href="Array.src/M000109.html" target="Code" class="method-signature"
+ onclick="popupCode('Array.src/M000109.html');return false;">
+ <span class="method-name"> to_json(state = nil, depth = 0)<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-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. <em>depth</em>
+is used to find out nesting depth, to indent accordingly.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods/Array.src/M000109.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Array.src/M000109.html
new file mode 100644
index 0000000..6199dd9
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Array.src/M000109.html
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (JSON::Ext::Generator::GeneratorMethods::Array)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: to_json(state = nil, depth = 0)
+ *
+ * Returns a JSON string containing a JSON array, that is generated from
+ * this Array instance.
+ * _state_ is a JSON::State object, that can also be used to configure the
+ * produced JSON string output further.
+ * _depth_ is used to find out nesting depth, to indent accordingly.
+ */
+static VALUE mArray_to_json(int argc, VALUE *argv, VALUE self) {
+</pre>
+</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..3113ec2
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/FalseClass.html
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Ext::Generator::GeneratorMethods::FalseClass</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Ext::Generator::GeneratorMethods::FalseClass</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../../../files/ext/json/ext/generator_c.html">
+ ext/json/ext/generator.c
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000108">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000108" class="method-detail">
+ <a name="M000108"></a>
+
+ <div class="method-heading">
+ <a href="FalseClass.src/M000108.html" target="Code" class="method-signature"
+ onclick="popupCode('FalseClass.src/M000108.html');return false;">
+ <span class="method-name"> to_json(*)<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Returns a <a href="../../../../JSON.html">JSON</a> string for false:
+&#8216;false&#8217;.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods/FalseClass.src/M000108.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods/FalseClass.src/M000108.html
new file mode 100644
index 0000000..0ce15fd
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/FalseClass.src/M000108.html
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (JSON::Ext::Generator::GeneratorMethods::FalseClass)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: to_json(*)
+ *
+ * Returns a JSON string for false: 'false'.
+ */
+static VALUE mFalseClass_to_json(int argc, VALUE *argv, VALUE self)
+{
+ VALUE state, depth;
+ rb_scan_args(argc, argv, &quot;02&quot;, &amp;state, &amp;depth);
+ state = cState_from_state_s(cState, state);
+ return cState_partial_generate(state, self, depth);
+}</pre>
+</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..72e79cd
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Float.html
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Ext::Generator::GeneratorMethods::Float</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Ext::Generator::GeneratorMethods::Float</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../../../files/ext/json/ext/generator_c.html">
+ ext/json/ext/generator.c
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000111">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000111" class="method-detail">
+ <a name="M000111"></a>
+
+ <div class="method-heading">
+ <a href="Float.src/M000111.html" target="Code" class="method-signature"
+ onclick="popupCode('Float.src/M000111.html');return false;">
+ <span class="method-name"> to_json(*)<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Returns a <a href="../../../../JSON.html">JSON</a> string representation
+for this <a href="Float.html">Float</a> number.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods/Float.src/M000111.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Float.src/M000111.html
new file mode 100644
index 0000000..15057b8
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Float.src/M000111.html
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (JSON::Ext::Generator::GeneratorMethods::Float)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: to_json(*)
+ *
+ * Returns a JSON string representation for this Float number.
+ */
+static VALUE mFloat_to_json(int argc, VALUE *argv, VALUE self)
+{
+ VALUE state, depth;
+ rb_scan_args(argc, argv, &quot;02&quot;, &amp;state, &amp;depth);
+ state = cState_from_state_s(cState, state);
+ return cState_partial_generate(state, self, depth);
+}</pre>
+</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..cddb34a
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Hash.html
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Ext::Generator::GeneratorMethods::Hash</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Ext::Generator::GeneratorMethods::Hash</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../../../files/ext/json/ext/generator_c.html">
+ ext/json/ext/generator.c
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000110">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000110" class="method-detail">
+ <a name="M000110"></a>
+
+ <div class="method-heading">
+ <a href="Hash.src/M000110.html" target="Code" class="method-signature"
+ onclick="popupCode('Hash.src/M000110.html');return false;">
+ <span class="method-name"> to_json(state = nil, depth = 0)<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-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. <em>depth</em>
+is used to find out nesting depth, to indent accordingly.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods/Hash.src/M000110.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Hash.src/M000110.html
new file mode 100644
index 0000000..eb7c201
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Hash.src/M000110.html
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (JSON::Ext::Generator::GeneratorMethods::Hash)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: to_json(state = nil, depth = 0)
+ *
+ * Returns a JSON string containing a JSON object, that is generated from
+ * this Hash instance.
+ * _state_ is a JSON::State object, that can also be used to configure the
+ * produced JSON string output further.
+ * _depth_ is used to find out nesting depth, to indent accordingly.
+ */
+static VALUE mHash_to_json(int argc, VALUE *argv, VALUE self)
+{
+ VALUE state, depth;
+
+ rb_scan_args(argc, argv, &quot;02&quot;, &amp;state, &amp;depth);
+ state = cState_from_state_s(cState, state);
+ return cState_partial_generate(state, self, depth);
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods/Integer.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Integer.html
new file mode 100644
index 0000000..bab3122
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Integer.html
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Ext::Generator::GeneratorMethods::Integer</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Ext::Generator::GeneratorMethods::Integer</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../../../files/ext/json/ext/generator_c.html">
+ ext/json/ext/generator.c
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000107">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000107" class="method-detail">
+ <a name="M000107"></a>
+
+ <div class="method-heading">
+ <a href="Integer.src/M000107.html" target="Code" class="method-signature"
+ onclick="popupCode('Integer.src/M000107.html');return false;">
+ <span class="method-name"> to_json(*)<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Returns a <a href="../../../../JSON.html">JSON</a> string representation
+for this <a href="Integer.html">Integer</a> number.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods/Integer.src/M000107.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Integer.src/M000107.html
new file mode 100644
index 0000000..ed67ecd
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Integer.src/M000107.html
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (JSON::Ext::Generator::GeneratorMethods::Integer)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: to_json(*)
+ *
+ * Returns a JSON string representation for this Integer number.
+ */
+static VALUE mInteger_to_json(int argc, VALUE *argv, VALUE self)
+{
+ VALUE state, depth;
+ rb_scan_args(argc, argv, &quot;02&quot;, &amp;state, &amp;depth);
+ state = cState_from_state_s(cState, state);
+ return cState_partial_generate(state, self, depth);
+}</pre>
+</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..10a0f3a
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/NilClass.html
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Ext::Generator::GeneratorMethods::NilClass</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Ext::Generator::GeneratorMethods::NilClass</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../../../files/ext/json/ext/generator_c.html">
+ ext/json/ext/generator.c
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000112">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000112" class="method-detail">
+ <a name="M000112"></a>
+
+ <div class="method-heading">
+ <a href="NilClass.src/M000112.html" target="Code" class="method-signature"
+ onclick="popupCode('NilClass.src/M000112.html');return false;">
+ <span class="method-name"> to_json(*)<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods/NilClass.src/M000112.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods/NilClass.src/M000112.html
new file mode 100644
index 0000000..f811269
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/NilClass.src/M000112.html
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (JSON::Ext::Generator::GeneratorMethods::NilClass)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: to_json(*)
+ *
+ */
+static VALUE mNilClass_to_json(int argc, VALUE *argv, VALUE self)
+{
+ VALUE state, depth;
+ rb_scan_args(argc, argv, &quot;02&quot;, &amp;state, &amp;depth);
+ state = cState_from_state_s(cState, state);
+ return cState_partial_generate(state, self, depth);
+}</pre>
+</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..5574e6f
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Object.html
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Ext::Generator::GeneratorMethods::Object</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Ext::Generator::GeneratorMethods::Object</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../../../files/ext/json/ext/generator_c.html">
+ ext/json/ext/generator.c
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000106">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000106" class="method-detail">
+ <a name="M000106"></a>
+
+ <div class="method-heading">
+ <a href="Object.src/M000106.html" target="Code" class="method-signature"
+ onclick="popupCode('Object.src/M000106.html');return false;">
+ <span class="method-name"> to_json(*)<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-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#M000106">to_json</a> was defined for some object.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods/Object.src/M000106.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Object.src/M000106.html
new file mode 100644
index 0000000..cbb07fa
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/Object.src/M000106.html
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (JSON::Ext::Generator::GeneratorMethods::Object)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: to_json(*)
+ *
+ * Converts this object to a string (calling #to_s), converts
+ * it to a JSON string, and returns the result. This is a fallback, if no
+ * special method #to_json was defined for some object.
+ */
+static VALUE mObject_to_json(int argc, VALUE *argv, VALUE self)
+{
+ VALUE state, depth;
+ VALUE string = rb_funcall(self, i_to_s, 0);
+ rb_scan_args(argc, argv, &quot;02&quot;, &amp;state, &amp;depth);
+ Check_Type(string, T_STRING);
+ state = cState_from_state_s(cState, state);
+ return cState_partial_generate(state, string, depth);
+}</pre>
+</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..4cc8b54
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/String.html
@@ -0,0 +1,210 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Ext::Generator::GeneratorMethods::String</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Ext::Generator::GeneratorMethods::String</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../../../files/ext/json/ext/generator_c.html">
+ ext/json/ext/generator.c
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000114">included</a>&nbsp;&nbsp;
+ <a href="#M000115">to_json</a>&nbsp;&nbsp;
+ <a href="#M000116">to_json_raw</a>&nbsp;&nbsp;
+ <a href="#M000117">to_json_raw_object</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+ <div id="class-list">
+ <h3 class="section-bar">Classes and Modules</h3>
+
+ Module <a href="String/Extend.html" class="link">JSON::Ext::Generator::GeneratorMethods::String::Extend</a><br />
+
+ </div>
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Class methods</h3>
+
+ <div id="method-M000114" class="method-detail">
+ <a name="M000114"></a>
+
+ <div class="method-heading">
+ <a href="String.src/M000114.html" target="Code" class="method-signature"
+ onclick="popupCode('String.src/M000114.html');return false;">
+ <span class="method-name"> String.included(modul)<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Extends <em>modul</em> with the <a
+href="String/Extend.html">String::Extend</a> module.
+</p>
+ </div>
+ </div>
+
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000115" class="method-detail">
+ <a name="M000115"></a>
+
+ <div class="method-heading">
+ <a href="String.src/M000115.html" target="Code" class="method-signature"
+ onclick="popupCode('String.src/M000115.html');return false;">
+ <span class="method-name"> to_json(*)<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-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>
+
+ <div id="method-M000116" class="method-detail">
+ <a name="M000116"></a>
+
+ <div class="method-heading">
+ <a href="String.src/M000116.html" target="Code" class="method-signature"
+ onclick="popupCode('String.src/M000116.html');return false;">
+ <span class="method-name"> to_json_raw(*args)<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+This method creates a <a href="../../../../JSON.html">JSON</a> text from
+the result of a call to <a
+href="String.html#M000117">to_json_raw_object</a> of this <a
+href="String.html">String</a>.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000117" class="method-detail">
+ <a name="M000117"></a>
+
+ <div class="method-heading">
+ <a href="String.src/M000117.html" target="Code" class="method-signature"
+ onclick="popupCode('String.src/M000117.html');return false;">
+ <span class="method-name"> to_json_raw_object()<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-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>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods/String.src/M000114.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods/String.src/M000114.html
new file mode 100644
index 0000000..72bf1fc
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/String.src/M000114.html
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>included (JSON::Ext::Generator::GeneratorMethods::String)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: String.included(modul)
+ *
+ * Extends _modul_ with the String::Extend module.
+ */
+static VALUE mString_included_s(VALUE self, VALUE modul) {
+</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods/String.src/M000115.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods/String.src/M000115.html
new file mode 100644
index 0000000..65f766c
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/String.src/M000115.html
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (JSON::Ext::Generator::GeneratorMethods::String)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: to_json(*)
+ *
+ * This string should be encoded with UTF-8 A call to this method
+ * returns a JSON string encoded with UTF16 big endian characters as
+ * \u????.
+ */
+static VALUE mString_to_json(int argc, VALUE *argv, VALUE self)
+{
+ VALUE state, depth;
+ rb_scan_args(argc, argv, &quot;02&quot;, &amp;state, &amp;depth);
+ state = cState_from_state_s(cState, state);
+ return cState_partial_generate(state, self, depth);
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods/String.src/M000116.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods/String.src/M000116.html
new file mode 100644
index 0000000..e7ff064
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/String.src/M000116.html
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json_raw (JSON::Ext::Generator::GeneratorMethods::String)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: to_json_raw(*args)
+ *
+ * This method creates a JSON text from the result of a call to
+ * to_json_raw_object of this String.
+ */
+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>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods/String.src/M000117.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods/String.src/M000117.html
new file mode 100644
index 0000000..b6de49b
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/String.src/M000117.html
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json_raw_object (JSON::Ext::Generator::GeneratorMethods::String)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: to_json_raw_object()
+ *
+ * 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 JSON
+ * instead of UTF-8 strings, e. g. binary data.
+ */
+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(&quot;C*&quot;));
+ rb_hash_aset(result, rb_str_new2(&quot;raw&quot;), ary);
+ return result;
+}</pre>
+</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..f91d6a6
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/String/Extend.html
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Ext::Generator::GeneratorMethods::String::Extend</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Ext::Generator::GeneratorMethods::String::Extend</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../../../../files/ext/json/ext/generator_c.html">
+ ext/json/ext/generator.c
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000118">json_create</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000118" class="method-detail">
+ <a name="M000118"></a>
+
+ <div class="method-heading">
+ <a href="Extend.src/M000118.html" target="Code" class="method-signature"
+ onclick="popupCode('Extend.src/M000118.html');return false;">
+ <span class="method-name"> json_create(o)<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Raw Strings are <a href="../../../../../JSON.html">JSON</a> Objects (the
+raw bytes are stored in an array for the key &quot;raw&quot;). The Ruby <a
+href="../String.html">String</a> can be created by this module method.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods/String/Extend.src/M000118.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods/String/Extend.src/M000118.html
new file mode 100644
index 0000000..3da0843
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/String/Extend.src/M000118.html
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>json_create (JSON::Ext::Generator::GeneratorMethods::String::Extend)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: json_create(o)
+ *
+ * Raw Strings are JSON Objects (the raw bytes are stored in an array for the
+ * key &quot;raw&quot;). The Ruby String can be created by this module method.
+ */
+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(&quot;raw&quot;));
+ return rb_funcall(ary, i_pack, 1, rb_str_new2(&quot;C*&quot;));
+}</pre>
+</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..78a56ed
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/TrueClass.html
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Ext::Generator::GeneratorMethods::TrueClass</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Ext::Generator::GeneratorMethods::TrueClass</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../../../files/ext/json/ext/generator_c.html">
+ ext/json/ext/generator.c
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000113">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000113" class="method-detail">
+ <a name="M000113"></a>
+
+ <div class="method-heading">
+ <a href="TrueClass.src/M000113.html" target="Code" class="method-signature"
+ onclick="popupCode('TrueClass.src/M000113.html');return false;">
+ <span class="method-name"> to_json(*)<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Returns a <a href="../../../../JSON.html">JSON</a> string for true:
+&#8216;true&#8217;.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/GeneratorMethods/TrueClass.src/M000113.html b/doc/classes/JSON/Ext/Generator/GeneratorMethods/TrueClass.src/M000113.html
new file mode 100644
index 0000000..e039a64
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/GeneratorMethods/TrueClass.src/M000113.html
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (JSON::Ext::Generator::GeneratorMethods::TrueClass)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: to_json(*)
+ *
+ * Returns a JSON string for true: 'true'.
+ */
+static VALUE mTrueClass_to_json(int argc, VALUE *argv, VALUE self)
+{
+ VALUE state, depth;
+ rb_scan_args(argc, argv, &quot;02&quot;, &amp;state, &amp;depth);
+ state = cState_from_state_s(cState, state);
+ return cState_partial_generate(state, self, depth);
+}</pre>
+</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..b5d28d8
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/State.html
@@ -0,0 +1,588 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: JSON::Ext::Generator::State</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">JSON::Ext::Generator::State</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../../files/ext/json/ext/generator_c.html">
+ ext/json/ext/generator.c
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ <a href="../../../Object.html">
+ Object
+ </a>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000134">allow_nan?</a>&nbsp;&nbsp;
+ <a href="#M000130">array_nl</a>&nbsp;&nbsp;
+ <a href="#M000131">array_nl=</a>&nbsp;&nbsp;
+ <a href="#M000135">ascii_only?</a>&nbsp;&nbsp;
+ <a href="#M000136">configure</a>&nbsp;&nbsp;
+ <a href="#M000119">from_state</a>&nbsp;&nbsp;
+ <a href="#M000138">generate</a>&nbsp;&nbsp;
+ <a href="#M000122">indent</a>&nbsp;&nbsp;
+ <a href="#M000123">indent=</a>&nbsp;&nbsp;
+ <a href="#M000121">initialize_copy</a>&nbsp;&nbsp;
+ <a href="#M000132">max_nesting</a>&nbsp;&nbsp;
+ <a href="#M000133">max_nesting=</a>&nbsp;&nbsp;
+ <a href="#M000120">new</a>&nbsp;&nbsp;
+ <a href="#M000128">object_nl</a>&nbsp;&nbsp;
+ <a href="#M000129">object_nl=</a>&nbsp;&nbsp;
+ <a href="#M000139">partial_generate</a>&nbsp;&nbsp;
+ <a href="#M000124">space</a>&nbsp;&nbsp;
+ <a href="#M000125">space=</a>&nbsp;&nbsp;
+ <a href="#M000126">space_before</a>&nbsp;&nbsp;
+ <a href="#M000127">space_before=</a>&nbsp;&nbsp;
+ <a href="#M000137">to_h</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Class methods</h3>
+
+ <div id="method-M000119" class="method-detail">
+ <a name="M000119"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000119.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000119.html');return false;">
+ <span class="method-name"> from_state(opts)<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Creates a <a href="State.html">State</a> object from <em>opts</em>, which
+ought to be Hash to create a <a href="State.html#M000120">new</a> <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>
+
+ <div id="method-M000120" class="method-detail">
+ <a name="M000120"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000120.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000120.html');return false;">
+ <span class="method-name"> new(opts = {})<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Instantiates a <a href="State.html#M000120">new</a> <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><b><a href="State.html#M000122">indent</a></b>: a string used to <a
+href="State.html#M000122">indent</a> levels (default: &#8217;&#8217;),
+
+</li>
+<li><b><a href="State.html#M000124">space</a></b>: a string that is put after,
+a : or , delimiter (default: &#8217;&#8217;),
+
+</li>
+<li><b><a href="State.html#M000126">space_before</a></b>: a string that is put
+before a : pair delimiter (default: &#8217;&#8217;),
+
+</li>
+<li><b><a href="State.html#M000128">object_nl</a></b>: a string that is put at
+the end of a <a href="../../../JSON.html">JSON</a> object (default:
+&#8217;&#8217;),
+
+</li>
+<li><b><a href="State.html#M000130">array_nl</a></b>: a string that is put at
+the end of a <a href="../../../JSON.html">JSON</a> array (default:
+&#8217;&#8217;),
+
+</li>
+<li><b>allow_nan</b>: true if NaN, Infinity, and -Infinity should be generated,
+otherwise an exception is thrown, if these values are encountered. This
+options defaults to false.
+
+</li>
+</ul>
+ </div>
+ </div>
+
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000134" class="method-detail">
+ <a name="M000134"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000134.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000134.html');return false;">
+ <span class="method-name"> allow_nan?<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Returns true, if NaN, Infinity, and -Infinity should be generated,
+otherwise returns false.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000130" class="method-detail">
+ <a name="M000130"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000130.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000130.html');return false;">
+ <span class="method-name"> array_nl()<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-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>
+
+ <div id="method-M000131" class="method-detail">
+ <a name="M000131"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000131.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000131.html');return false;">
+ <span class="method-name"> array_nl=(array_nl)<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-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>
+
+ <div id="method-M000135" class="method-detail">
+ <a name="M000135"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000135.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000135.html');return false;">
+ <span class="method-name"> ascii_only?<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Returns true, if NaN, Infinity, and -Infinity should be generated,
+otherwise returns false.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000136" class="method-detail">
+ <a name="M000136"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000136.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000136.html');return false;">
+ <span class="method-name"> configure(opts)<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Configure this <a href="State.html">State</a> instance with the Hash
+<em>opts</em>, and return itself.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000138" class="method-detail">
+ <a name="M000138"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000138.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000138.html');return false;">
+ <span class="method-name"> generate(obj)<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Generates a valid <a href="../../../JSON.html">JSON</a> document from
+object <tt>obj</tt> 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>
+
+ <div id="method-M000122" class="method-detail">
+ <a name="M000122"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000122.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000122.html');return false;">
+ <span class="method-name"> indent()<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+This string is used to <a href="State.html#M000122">indent</a> levels in
+the <a href="../../../JSON.html">JSON</a> text.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000123" class="method-detail">
+ <a name="M000123"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000123.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000123.html');return false;">
+ <span class="method-name"> indent=(indent)<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+This string is used to <a href="State.html#M000122">indent</a> levels in
+the <a href="../../../JSON.html">JSON</a> text.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000121" class="method-detail">
+ <a name="M000121"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000121.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000121.html');return false;">
+ <span class="method-name"> initialize_copy(orig)<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Initializes this object from orig if it to be duplicated/cloned and returns
+it.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000132" class="method-detail">
+ <a name="M000132"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000132.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000132.html');return false;">
+ <span class="method-name"> max_nesting<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-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#M000132">max_nesting</a> = 0 if no maximum is checked.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000133" class="method-detail">
+ <a name="M000133"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000133.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000133.html');return false;">
+ <span class="method-name"> max_nesting=(depth)<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-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#M000132">max_nesting</a> = 0 if no maximum should be
+checked.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000128" class="method-detail">
+ <a name="M000128"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000128.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000128.html');return false;">
+ <span class="method-name"> object_nl()<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-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>
+
+ <div id="method-M000129" class="method-detail">
+ <a name="M000129"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000129.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000129.html');return false;">
+ <span class="method-name"> object_nl=(object_nl)<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-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>
+
+ <div id="method-M000139" class="method-detail">
+ <a name="M000139"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000139.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000139.html');return false;">
+ <span class="method-name"> partial_generate(obj)<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Generates a part of a <a href="../../../JSON.html">JSON</a> document from
+object <tt>obj</tt> and returns the result.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000124" class="method-detail">
+ <a name="M000124"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000124.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000124.html');return false;">
+ <span class="method-name"> space()<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+This string is used to insert a <a href="State.html#M000124">space</a>
+between the tokens in a <a href="../../../JSON.html">JSON</a> string.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000125" class="method-detail">
+ <a name="M000125"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000125.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000125.html');return false;">
+ <span class="method-name"> space=(space)<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+This string is used to insert a <a href="State.html#M000124">space</a>
+between the tokens in a <a href="../../../JSON.html">JSON</a> string.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000126" class="method-detail">
+ <a name="M000126"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000126.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000126.html');return false;">
+ <span class="method-name"> space_before()<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+This string is used to insert a <a href="State.html#M000124">space</a>
+before the &#8217;:&#8217; in <a href="../../../JSON.html">JSON</a>
+objects.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000127" class="method-detail">
+ <a name="M000127"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000127.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000127.html');return false;">
+ <span class="method-name"> space_before=(space_before)<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+This string is used to insert a <a href="State.html#M000124">space</a>
+before the &#8217;:&#8217; in <a href="../../../JSON.html">JSON</a>
+objects.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000137" class="method-detail">
+ <a name="M000137"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000137.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000137.html');return false;">
+ <span class="method-name"> to_h<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Returns the configuration instance variables as a hash, that can be passed
+to the <a href="State.html#M000136">configure</a> method.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/State.src/M000119.html b/doc/classes/JSON/Ext/Generator/State.src/M000119.html
new file mode 100644
index 0000000..2f909e0
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/State.src/M000119.html
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>from_state (JSON::Ext::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: from_state(opts)
+ *
+ * Creates a State object from _opts_, which ought to be Hash to create a
+ * new State instance configured by _opts_, something else to create an
+ * unconfigured instance. If _opts_ is a State object, it is just returned.
+ */
+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, rb_intern(&quot;SAFE_STATE_PROTOTYPE&quot;));
+ }
+ return CJSON_SAFE_STATE_PROTOTYPE;
+ }
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/State.src/M000120.html b/doc/classes/JSON/Ext/Generator/State.src/M000120.html
new file mode 100644
index 0000000..b37e378
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/State.src/M000120.html
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>new (JSON::Ext::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: new(opts = {})
+ *
+ * Instantiates a new State object, configured by _opts_.
+ *
+ * _opts_ can have the following keys:
+ *
+ * * *indent*: a string used to indent levels (default: ''),
+ * * *space*: a string that is put after, a : or , delimiter (default: ''),
+ * * *space_before*: a string that is put before a : pair delimiter (default: ''),
+ * * *object_nl*: a string that is put at the end of a JSON object (default: ''),
+ * * *array_nl*: a string that is put at the end of a JSON array (default: ''),
+ * * *allow_nan*: true if NaN, Infinity, and -Infinity should be
+ * generated, otherwise an exception is thrown, if these values are
+ * encountered. This options defaults to false.
+ */
+static VALUE cState_initialize(int argc, VALUE *argv, VALUE self)
+{
+ VALUE opts;
+ GET_STATE(self);
+ MEMZERO(state, JSON_Generator_State, 1);
+ state-&gt;max_nesting = 19;
+ rb_scan_args(argc, argv, &quot;01&quot;, &amp;opts);
+ if (!NIL_P(opts)) cState_configure(self, opts);
+ return self;
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/State.src/M000121.html b/doc/classes/JSON/Ext/Generator/State.src/M000121.html
new file mode 100644
index 0000000..c3556c3
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/State.src/M000121.html
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>initialize_copy (JSON::Ext::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: initialize_copy(orig)
+ *
+ * Initializes this object from orig if it to be duplicated/cloned and returns
+ * it.
+*/
+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, &quot;unallocated JSON::State&quot;);
+
+ MEMCPY(objState, origState, JSON_Generator_State, 1);
+ objState-&gt;indent = fstrndup(origState-&gt;indent, origState-&gt;indent_len);
+ objState-&gt;space = fstrndup(origState-&gt;space, origState-&gt;space_len);
+ objState-&gt;space_before = fstrndup(origState-&gt;space_before, origState-&gt;space_before_len);
+ objState-&gt;object_nl = fstrndup(origState-&gt;object_nl, origState-&gt;object_nl_len);
+ objState-&gt;array_nl = fstrndup(origState-&gt;array_nl, origState-&gt;array_nl_len);
+ if (origState-&gt;array_delim) objState-&gt;array_delim = fbuffer_dup(origState-&gt;array_delim);
+ if (origState-&gt;object_delim) objState-&gt;object_delim = fbuffer_dup(origState-&gt;object_delim);
+ if (origState-&gt;object_delim2) objState-&gt;object_delim2 = fbuffer_dup(origState-&gt;object_delim2);
+ return obj;
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/State.src/M000122.html b/doc/classes/JSON/Ext/Generator/State.src/M000122.html
new file mode 100644
index 0000000..afcbe3b
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/State.src/M000122.html
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>indent (JSON::Ext::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: indent()
+ *
+ * This string is used to indent levels in the JSON text.
+ */
+static VALUE cState_indent(VALUE self)
+{
+ GET_STATE(self);
+ return state-&gt;indent ? rb_str_new2(state-&gt;indent) : rb_str_new2(&quot;&quot;);
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/State.src/M000123.html b/doc/classes/JSON/Ext/Generator/State.src/M000123.html
new file mode 100644
index 0000000..681bf31
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/State.src/M000123.html
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>indent= (JSON::Ext::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: indent=(indent)
+ *
+ * This string is used to indent levels in the JSON text.
+ */
+static VALUE cState_indent_set(VALUE self, VALUE indent)
+{
+ GET_STATE(self);
+ Check_Type(indent, T_STRING);
+ if (RSTRING_LEN(indent) == 0) {
+ if (state-&gt;indent) {
+ ruby_xfree(state-&gt;indent);
+ state-&gt;indent = NULL;
+ }
+ } else {
+ if (state-&gt;indent) ruby_xfree(state-&gt;indent);
+ state-&gt;indent = strdup(RSTRING_PTR(indent));
+ }
+ return Qnil;
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/State.src/M000124.html b/doc/classes/JSON/Ext/Generator/State.src/M000124.html
new file mode 100644
index 0000000..83fda06
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/State.src/M000124.html
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>space (JSON::Ext::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: space()
+ *
+ * This string is used to insert a space between the tokens in a JSON
+ * string.
+ */
+static VALUE cState_space(VALUE self)
+{
+ GET_STATE(self);
+ return state-&gt;space ? rb_str_new2(state-&gt;space) : rb_str_new2(&quot;&quot;);
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/State.src/M000125.html b/doc/classes/JSON/Ext/Generator/State.src/M000125.html
new file mode 100644
index 0000000..3f46c8b
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/State.src/M000125.html
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>space= (JSON::Ext::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: space=(space)
+ *
+ * This string is used to insert a space between the tokens in a JSON
+ * string.
+ */
+static VALUE cState_space_set(VALUE self, VALUE space)
+{
+ GET_STATE(self);
+ Check_Type(space, T_STRING);
+ if (RSTRING_LEN(space) == 0) {
+ if (state-&gt;space) {
+ ruby_xfree(state-&gt;space);
+ state-&gt;space = NULL;
+ }
+ } else {
+ if (state-&gt;space) ruby_xfree(state-&gt;space);
+ state-&gt;space = strdup(RSTRING_PTR(space));
+ }
+ return Qnil;
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/State.src/M000126.html b/doc/classes/JSON/Ext/Generator/State.src/M000126.html
new file mode 100644
index 0000000..1cb258b
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/State.src/M000126.html
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>space_before (JSON::Ext::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: space_before()
+ *
+ * This string is used to insert a space before the ':' in JSON objects.
+ */
+static VALUE cState_space_before(VALUE self)
+{
+ GET_STATE(self);
+ return state-&gt;space_before ? rb_str_new2(state-&gt;space_before) : rb_str_new2(&quot;&quot;);
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/State.src/M000127.html b/doc/classes/JSON/Ext/Generator/State.src/M000127.html
new file mode 100644
index 0000000..8276bf4
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/State.src/M000127.html
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>space_before= (JSON::Ext::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: space_before=(space_before)
+ *
+ * This string is used to insert a space before the ':' in JSON objects.
+ */
+static VALUE cState_space_before_set(VALUE self, VALUE space_before)
+{
+ GET_STATE(self);
+ Check_Type(space_before, T_STRING);
+ if (RSTRING_LEN(space_before) == 0) {
+ if (state-&gt;space_before) {
+ ruby_xfree(state-&gt;space_before);
+ state-&gt;space_before = NULL;
+ }
+ } else {
+ if (state-&gt;space_before) ruby_xfree(state-&gt;space_before);
+ state-&gt;space_before = strdup(RSTRING_PTR(space_before));
+ }
+ return Qnil;
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/State.src/M000128.html b/doc/classes/JSON/Ext/Generator/State.src/M000128.html
new file mode 100644
index 0000000..cabf995
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/State.src/M000128.html
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>object_nl (JSON::Ext::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: object_nl()
+ *
+ * This string is put at the end of a line that holds a JSON object (or
+ * Hash).
+ */
+static VALUE cState_object_nl(VALUE self)
+{
+ GET_STATE(self);
+ return state-&gt;object_nl ? rb_str_new2(state-&gt;object_nl) : rb_str_new2(&quot;&quot;);
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/State.src/M000129.html b/doc/classes/JSON/Ext/Generator/State.src/M000129.html
new file mode 100644
index 0000000..0df3de2
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/State.src/M000129.html
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>object_nl= (JSON::Ext::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: object_nl=(object_nl)
+ *
+ * This string is put at the end of a line that holds a JSON object (or
+ * Hash).
+ */
+static VALUE cState_object_nl_set(VALUE self, VALUE object_nl)
+{
+ GET_STATE(self);
+ Check_Type(object_nl, T_STRING);
+ if (RSTRING_LEN(object_nl) == 0) {
+ if (state-&gt;object_nl) {
+ ruby_xfree(state-&gt;object_nl);
+ state-&gt;object_nl = NULL;
+ }
+ } else {
+ if (state-&gt;object_nl) ruby_xfree(state-&gt;object_nl);
+ state-&gt;object_nl = strdup(RSTRING_PTR(object_nl));
+ }
+ return Qnil;
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/State.src/M000130.html b/doc/classes/JSON/Ext/Generator/State.src/M000130.html
new file mode 100644
index 0000000..f7a114d
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/State.src/M000130.html
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>array_nl (JSON::Ext::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: array_nl()
+ *
+ * This string is put at the end of a line that holds a JSON array.
+ */
+static VALUE cState_array_nl(VALUE self)
+{
+ GET_STATE(self);
+ return state-&gt;array_nl ? rb_str_new2(state-&gt;array_nl) : rb_str_new2(&quot;&quot;);
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/State.src/M000131.html b/doc/classes/JSON/Ext/Generator/State.src/M000131.html
new file mode 100644
index 0000000..dd10024
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/State.src/M000131.html
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>array_nl= (JSON::Ext::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: array_nl=(array_nl)
+ *
+ * This string is put at the end of a line that holds a JSON array.
+ */
+static VALUE cState_array_nl_set(VALUE self, VALUE array_nl)
+{
+ GET_STATE(self);
+ Check_Type(array_nl, T_STRING);
+ if (RSTRING_LEN(array_nl) == 0) {
+ if (state-&gt;array_nl) {
+ ruby_xfree(state-&gt;array_nl);
+ state-&gt;array_nl = NULL;
+ }
+ } else {
+ if (state-&gt;array_nl) ruby_xfree(state-&gt;array_nl);
+ state-&gt;array_nl = strdup(RSTRING_PTR(array_nl));
+ }
+ return Qnil;
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/State.src/M000132.html b/doc/classes/JSON/Ext/Generator/State.src/M000132.html
new file mode 100644
index 0000000..841c06d
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/State.src/M000132.html
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>max_nesting (JSON::Ext::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: max_nesting
+ *
+ * This integer returns the maximum level of data structure nesting in
+ * the generated JSON, max_nesting = 0 if no maximum is checked.
+ */
+static VALUE cState_max_nesting(VALUE self)
+{
+ GET_STATE(self);
+ return LONG2FIX(state-&gt;max_nesting);
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/State.src/M000133.html b/doc/classes/JSON/Ext/Generator/State.src/M000133.html
new file mode 100644
index 0000000..76e22d4
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/State.src/M000133.html
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>max_nesting= (JSON::Ext::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: max_nesting=(depth)
+ *
+ * This sets the maximum level of data structure nesting in the generated JSON
+ * to the integer depth, max_nesting = 0 if no maximum should be checked.
+ */
+static VALUE cState_max_nesting_set(VALUE self, VALUE depth)
+{
+ GET_STATE(self);
+ Check_Type(depth, T_FIXNUM);
+ return state-&gt;max_nesting = FIX2LONG(depth);
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/State.src/M000134.html b/doc/classes/JSON/Ext/Generator/State.src/M000134.html
new file mode 100644
index 0000000..09bc492
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/State.src/M000134.html
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>allow_nan? (JSON::Ext::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: allow_nan?
+ *
+ * Returns true, if NaN, Infinity, and -Infinity should be generated, otherwise
+ * returns false.
+ */
+static VALUE cState_allow_nan_p(VALUE self)
+{
+ GET_STATE(self);
+ return state-&gt;allow_nan ? Qtrue : Qfalse;
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/State.src/M000135.html b/doc/classes/JSON/Ext/Generator/State.src/M000135.html
new file mode 100644
index 0000000..f86662d
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/State.src/M000135.html
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>ascii_only? (JSON::Ext::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: ascii_only?
+ *
+ * Returns true, if NaN, Infinity, and -Infinity should be generated, otherwise
+ * returns false.
+ */
+static VALUE cState_ascii_only_p(VALUE self)
+{
+ GET_STATE(self);
+ return state-&gt;ascii_only ? Qtrue : Qfalse;
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/State.src/M000136.html b/doc/classes/JSON/Ext/Generator/State.src/M000136.html
new file mode 100644
index 0000000..5a3df1c
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/State.src/M000136.html
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>configure (JSON::Ext::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: configure(opts)
+ *
+ * Configure this State instance with the Hash _opts_, and return
+ * itself.
+ */
+static VALUE cState_configure(VALUE self, VALUE opts)
+{
+ VALUE tmp;
+ GET_STATE(self);
+ tmp = rb_convert_type(opts, T_HASH, &quot;Hash&quot;, &quot;to_hash&quot;);
+ if (NIL_P(tmp)) tmp = rb_convert_type(opts, T_HASH, &quot;Hash&quot;, &quot;to_h&quot;);
+ if (NIL_P(tmp)) {
+ rb_raise(rb_eArgError, &quot;opts has to be hash like or convertable into a hash&quot;);
+ }
+ opts = tmp;
+ tmp = rb_hash_aref(opts, ID2SYM(i_indent));
+ if (RTEST(tmp)) {
+ Check_Type(tmp, T_STRING);
+ int len = RSTRING_LEN(tmp);
+ state-&gt;indent = fstrndup(RSTRING_PTR(tmp), len);
+ state-&gt;indent_len = len;
+ }
+ tmp = rb_hash_aref(opts, ID2SYM(i_space));
+ if (RTEST(tmp)) {
+ Check_Type(tmp, T_STRING);
+ int len = RSTRING_LEN(tmp);
+ state-&gt;space = fstrndup(RSTRING_PTR(tmp), len);
+ state-&gt;space_len = len;
+ }
+ tmp = rb_hash_aref(opts, ID2SYM(i_space_before));
+ if (RTEST(tmp)) {
+ Check_Type(tmp, T_STRING);
+ int len = RSTRING_LEN(tmp);
+ state-&gt;space_before = fstrndup(RSTRING_PTR(tmp), len);
+ state-&gt;space_before_len = len;
+ }
+ tmp = rb_hash_aref(opts, ID2SYM(i_array_nl));
+ if (RTEST(tmp)) {
+ Check_Type(tmp, T_STRING);
+ int len = RSTRING_LEN(tmp);
+ state-&gt;array_nl = fstrndup(RSTRING_PTR(tmp), len);
+ state-&gt;array_nl_len = len;
+ }
+ tmp = rb_hash_aref(opts, ID2SYM(i_object_nl));
+ if (RTEST(tmp)) {
+ Check_Type(tmp, T_STRING);
+ int len = RSTRING_LEN(tmp);
+ state-&gt;object_nl = fstrndup(RSTRING_PTR(tmp), len);
+ state-&gt;object_nl_len = len;
+ }
+ tmp = ID2SYM(i_max_nesting);
+ state-&gt;max_nesting = 19;
+ if (st_lookup(RHASH_TBL(opts), tmp, 0)) {
+ VALUE max_nesting = rb_hash_aref(opts, tmp);
+ if (RTEST(max_nesting)) {
+ Check_Type(max_nesting, T_FIXNUM);
+ state-&gt;max_nesting = FIX2LONG(max_nesting);
+ } else {
+ state-&gt;max_nesting = 0;
+ }
+ }
+ tmp = rb_hash_aref(opts, ID2SYM(i_allow_nan));
+ state-&gt;allow_nan = RTEST(tmp);
+ tmp = rb_hash_aref(opts, ID2SYM(i_ascii_only));
+ state-&gt;ascii_only = RTEST(tmp);
+ return self;
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/State.src/M000137.html b/doc/classes/JSON/Ext/Generator/State.src/M000137.html
new file mode 100644
index 0000000..20d3d0f
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/State.src/M000137.html
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_h (JSON::Ext::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: to_h
+ *
+ * Returns the configuration instance variables as a hash, that can be
+ * passed to the configure method.
+ */
+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-&gt;indent, state-&gt;indent_len));
+ rb_hash_aset(result, ID2SYM(i_space), rb_str_new(state-&gt;space, state-&gt;space_len));
+ rb_hash_aset(result, ID2SYM(i_space_before), rb_str_new(state-&gt;space_before, state-&gt;space_before_len));
+ rb_hash_aset(result, ID2SYM(i_object_nl), rb_str_new(state-&gt;object_nl, state-&gt;object_nl_len));
+ rb_hash_aset(result, ID2SYM(i_array_nl), rb_str_new(state-&gt;array_nl, state-&gt;array_nl_len));
+ rb_hash_aset(result, ID2SYM(i_allow_nan), state-&gt;allow_nan ? Qtrue : Qfalse);
+ rb_hash_aset(result, ID2SYM(i_ascii_only), state-&gt;ascii_only ? Qtrue : Qfalse);
+ rb_hash_aset(result, ID2SYM(i_max_nesting), LONG2FIX(state-&gt;max_nesting));
+ return result;
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/State.src/M000138.html b/doc/classes/JSON/Ext/Generator/State.src/M000138.html
new file mode 100644
index 0000000..1386368
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/State.src/M000138.html
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>generate (JSON::Ext::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: generate(obj)
+ *
+ * Generates a valid JSON document from object +obj+ and returns the
+ * result. If no valid JSON document can be created this method raises a
+ * GeneratorError exception.
+ */
+static VALUE cState_generate(VALUE self, VALUE obj)
+{
+ VALUE result = cState_partial_generate(self, obj, Qnil);
+ VALUE re, args[2];
+ args[0] = rb_str_new2(&quot;\\A\\s*(?:\\[.*\\]|\\{.*\\})\\s*\\Z&quot;);
+ args[1] = CRegexp_MULTILINE;
+ re = rb_class_new_instance(2, args, rb_cRegexp);
+ if (NIL_P(rb_reg_match(re, result))) {
+ rb_raise(eGeneratorError, &quot;only generation of JSON objects or arrays allowed&quot;);
+ }
+ return result;
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Generator/State.src/M000139.html b/doc/classes/JSON/Ext/Generator/State.src/M000139.html
new file mode 100644
index 0000000..5870d17
--- /dev/null
+++ b/doc/classes/JSON/Ext/Generator/State.src/M000139.html
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>partial_generate (JSON::Ext::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: partial_generate(obj)
+ *
+ * Generates a part of a JSON document from object +obj+ and returns the
+ * result.
+ */
+static VALUE cState_partial_generate(VALUE self, VALUE obj, VALUE depth)
+{
+ VALUE result;
+ FBuffer *buffer = fbuffer_alloc();
+ GET_STATE(self);
+
+ if (state-&gt;object_delim) {
+ fbuffer_clear(state-&gt;object_delim);
+ } else {
+ state-&gt;object_delim = fbuffer_alloc_with_length(16);
+ }
+ fbuffer_append_char(state-&gt;object_delim, ',');
+ if (state-&gt;object_delim2) {
+ fbuffer_clear(state-&gt;object_delim2);
+ } else {
+ state-&gt;object_delim2 = fbuffer_alloc_with_length(16);
+ }
+ fbuffer_append_char(state-&gt;object_delim2, ':');
+ if (state-&gt;space) fbuffer_append(state-&gt;object_delim2, state-&gt;space, state-&gt;space_len);
+
+ if (state-&gt;array_delim) {
+ fbuffer_clear(state-&gt;array_delim);
+ } else {
+ state-&gt;array_delim = fbuffer_alloc_with_length(16);
+ }
+ fbuffer_append_char(state-&gt;array_delim, ',');
+ if (state-&gt;array_nl) fbuffer_append(state-&gt;array_delim, state-&gt;array_nl, state-&gt;array_nl_len);
+
+ generate_json(buffer, self, state, obj, NIL_P(depth) ? 0 : FIX2INT(depth));
+ result = fbuffer2rstring(buffer);
+ fbuffer_free_only_buffer(buffer);
+ FORCE_UTF8(result);
+ return result;
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Parser.html b/doc/classes/JSON/Ext/Parser.html
new file mode 100644
index 0000000..7d0bf27
--- /dev/null
+++ b/doc/classes/JSON/Ext/Parser.html
@@ -0,0 +1,237 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: JSON::Ext::Parser</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">JSON::Ext::Parser</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../files/ext/json/ext/parser_c.html">
+ ext/json/ext/parser.c
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ <a href="../../Object.html">
+ Object
+ </a>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="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>
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000140">new</a>&nbsp;&nbsp;
+ <a href="#M000141">parse</a>&nbsp;&nbsp;
+ <a href="#M000142">source</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Class methods</h3>
+
+ <div id="method-M000140" class="method-detail">
+ <a name="M000140"></a>
+
+ <div class="method-heading">
+ <a href="Parser.src/M000140.html" target="Code" class="method-signature"
+ onclick="popupCode('Parser.src/M000140.html');return false;">
+ <span class="method-name"> new(source, opts => {})<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Creates a <a href="Parser.html#M000140">new</a> <a
+href="Parser.html">JSON::Ext::Parser</a> instance for the string <em><a
+href="Parser.html#M000142">source</a></em>.
+</p>
+<p>
+Creates a <a href="Parser.html#M000140">new</a> <a
+href="Parser.html">JSON::Ext::Parser</a> instance for the string <em><a
+href="Parser.html#M000142">source</a></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><b>max_nesting</b>: The maximum depth of nesting allowed in the parsed data
+structures. Disable depth checking with :max_nesting =&gt; false|nil|0, it
+defaults to 19.
+
+</li>
+<li><b>allow_nan</b>: 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.
+
+</li>
+<li><b>create_additions</b>: If set to false, the <a
+href="Parser.html">Parser</a> doesn&#8216;t create additions even if a
+matchin class and create_id was found. This option defaults to true.
+
+</li>
+<li><b>object_class</b>: Defaults to Hash
+
+</li>
+<li><b>array_class</b>: Defaults to Array
+
+</li>
+</ul>
+ </div>
+ </div>
+
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000141" class="method-detail">
+ <a name="M000141"></a>
+
+ <div class="method-heading">
+ <a href="Parser.src/M000141.html" target="Code" class="method-signature"
+ onclick="popupCode('Parser.src/M000141.html');return false;">
+ <span class="method-name"> parse()<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Parses the current <a href="../../JSON.html">JSON</a> text <em><a
+href="Parser.html#M000142">source</a></em> and returns the complete data
+structure as a result.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000142" class="method-detail">
+ <a name="M000142"></a>
+
+ <div class="method-heading">
+ <a href="Parser.src/M000142.html" target="Code" class="method-signature"
+ onclick="popupCode('Parser.src/M000142.html');return false;">
+ <span class="method-name"> source()<br />
+</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Returns a copy of the current <em><a
+href="Parser.html#M000142">source</a></em> string, that was used to
+construct this <a href="Parser.html">Parser</a>.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Parser.src/M000140.html b/doc/classes/JSON/Ext/Parser.src/M000140.html
new file mode 100644
index 0000000..d59799e
--- /dev/null
+++ b/doc/classes/JSON/Ext/Parser.src/M000140.html
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>new (JSON::Ext::Parser)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: new(source, opts =&gt; {})
+ *
+ * Creates a new JSON::Ext::Parser instance for the string _source_.
+ *
+ * Creates a new JSON::Ext::Parser instance for the string _source_.
+ *
+ * It will be configured by the _opts_ hash. _opts_ can have the following
+ * keys:
+ *
+ * _opts_ can have the following keys:
+ * * *max_nesting*: The maximum depth of nesting allowed in the parsed data
+ * structures. Disable depth checking with :max_nesting =&gt; false|nil|0, it
+ * defaults to 19.
+ * * *allow_nan*: If set to true, allow NaN, Infinity and -Infinity in
+ * defiance of RFC 4627 to be parsed by the Parser. This option defaults to
+ * false.
+ * * *create_additions*: If set to false, the Parser doesn't create
+ * additions even if a matchin class and create_id was found. This option
+ * defaults to true.
+ * * *object_class*: Defaults to Hash
+ * * *array_class*: Defaults to Array
+ */
+static VALUE cParser_initialize(int argc, VALUE *argv, VALUE self)
+{
+ char *ptr;
+ long len;
+ VALUE source, opts;
+ GET_PARSER;
+ rb_scan_args(argc, argv, &quot;11&quot;, &amp;source, &amp;opts);
+ source = convert_encoding(StringValue(source));
+ ptr = RSTRING_PTR(source);
+ len = RSTRING_LEN(source);
+ if (!NIL_P(opts)) {
+ opts = rb_convert_type(opts, T_HASH, &quot;Hash&quot;, &quot;to_hash&quot;);
+ if (NIL_P(opts)) {
+ rb_raise(rb_eArgError, &quot;opts needs to be like a hash&quot;);
+ } else {
+ VALUE tmp = ID2SYM(i_max_nesting);
+ if (st_lookup(RHASH_TBL(opts), tmp, 0)) {
+ VALUE max_nesting = rb_hash_aref(opts, tmp);
+ if (RTEST(max_nesting)) {
+ Check_Type(max_nesting, T_FIXNUM);
+ json-&gt;max_nesting = FIX2INT(max_nesting);
+ } else {
+ json-&gt;max_nesting = 0;
+ }
+ } else {
+ json-&gt;max_nesting = 19;
+ }
+ tmp = ID2SYM(i_allow_nan);
+ if (st_lookup(RHASH_TBL(opts), tmp, 0)) {
+ VALUE allow_nan = rb_hash_aref(opts, tmp);
+ json-&gt;allow_nan = RTEST(allow_nan) ? 1 : 0;
+ } else {
+ json-&gt;allow_nan = 0;
+ }
+ tmp = ID2SYM(i_create_additions);
+ if (st_lookup(RHASH_TBL(opts), tmp, 0)) {
+ VALUE create_additions = rb_hash_aref(opts, tmp);
+ if (RTEST(create_additions)) {
+ json-&gt;create_id = rb_funcall(mJSON, i_create_id, 0);
+ } else {
+ json-&gt;create_id = Qnil;
+ }
+ } else {
+ json-&gt;create_id = rb_funcall(mJSON, i_create_id, 0);
+ }
+ tmp = ID2SYM(i_object_class);
+ if (st_lookup(RHASH_TBL(opts), tmp, 0)) {
+ json-&gt;object_class = rb_hash_aref(opts, tmp);
+ } else {
+ json-&gt;object_class = Qnil;
+ }
+ tmp = ID2SYM(i_array_class);
+ if (st_lookup(RHASH_TBL(opts), tmp, 0)) {
+ json-&gt;array_class = rb_hash_aref(opts, tmp);
+ } else {
+ json-&gt;array_class = Qnil;
+ }
+ }
+ } else {
+ json-&gt;max_nesting = 19;
+ json-&gt;allow_nan = 0;
+ json-&gt;create_id = rb_funcall(mJSON, i_create_id, 0);
+ json-&gt;object_class = Qnil;
+ json-&gt;array_class = Qnil;
+ }
+ json-&gt;current_nesting = 0;
+ json-&gt;len = len;
+ json-&gt;source = ptr;
+ json-&gt;Vsource = source;
+ return self;
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Parser.src/M000141.html b/doc/classes/JSON/Ext/Parser.src/M000141.html
new file mode 100644
index 0000000..56fdb6d
--- /dev/null
+++ b/doc/classes/JSON/Ext/Parser.src/M000141.html
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>parse (JSON::Ext::Parser)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: parse()
+ *
+ * Parses the current JSON text _source_ and returns the complete data
+ * structure as a result.
+ */
+static VALUE cParser_parse(VALUE self)
+{
+ char *p, *pe;
+ int cs = EVIL;
+ VALUE result = Qnil;
+ GET_PARSER;
+
+
+#line 1685 &quot;parser.c&quot;
+ {
+ cs = JSON_start;
+ }
+
+#line 682 &quot;parser.rl&quot;
+ p = json-&gt;source;
+ pe = p + json-&gt;len;
+
+#line 1694 &quot;parser.c&quot;
+ {
+ if ( p == pe )
+ goto _test_eof;
+ switch ( cs )
+ {
+st1:
+ if ( ++p == pe )
+ goto _test_eof1;
+case 1:
+ switch( (*p) ) {
+ case 13: goto st1;
+ case 32: goto st1;
+ case 47: goto st2;
+ case 91: goto tr3;
+ case 123: goto tr4;
+ }
+ if ( 9 &lt;= (*p) &amp;&amp; (*p) &lt;= 10 )
+ goto st1;
+ goto st0;
+st0:
+cs = 0;
+ goto _out;
+st2:
+ if ( ++p == pe )
+ goto _test_eof2;
+case 2:
+ switch( (*p) ) {
+ case 42: goto st3;
+ case 47: goto st5;
+ }
+ goto st0;
+st3:
+ if ( ++p == pe )
+ goto _test_eof3;
+case 3:
+ if ( (*p) == 42 )
+ goto st4;
+ goto st3;
+st4:
+ if ( ++p == pe )
+ goto _test_eof4;
+case 4:
+ switch( (*p) ) {
+ case 42: goto st4;
+ case 47: goto st1;
+ }
+ goto st3;
+st5:
+ if ( ++p == pe )
+ goto _test_eof5;
+case 5:
+ if ( (*p) == 10 )
+ goto st1;
+ goto st5;
+tr3:
+#line 500 &quot;parser.rl&quot;
+ {
+ char *np;
+ json-&gt;current_nesting = 1;
+ np = JSON_parse_array(json, p, pe, &amp;result);
+ if (np == NULL) { p--; {p++; cs = 10; goto _out;} } else {p = (( np))-1;}
+ }
+ goto st10;
+tr4:
+#line 493 &quot;parser.rl&quot;
+ {
+ char *np;
+ json-&gt;current_nesting = 1;
+ np = JSON_parse_object(json, p, pe, &amp;result);
+ if (np == NULL) { p--; {p++; cs = 10; goto _out;} } else {p = (( np))-1;}
+ }
+ goto st10;
+st10:
+ if ( ++p == pe )
+ goto _test_eof10;
+case 10:
+#line 1771 &quot;parser.c&quot;
+ switch( (*p) ) {
+ case 13: goto st10;
+ case 32: goto st10;
+ case 47: goto st6;
+ }
+ if ( 9 &lt;= (*p) &amp;&amp; (*p) &lt;= 10 )
+ goto st10;
+ goto st0;
+st6:
+ if ( ++p == pe )
+ goto _test_eof6;
+case 6:
+ switch( (*p) ) {
+ case 42: goto st7;
+ case 47: goto st9;
+ }
+ goto st0;
+st7:
+ if ( ++p == pe )
+ goto _test_eof7;
+case 7:
+ if ( (*p) == 42 )
+ goto st8;
+ goto st7;
+st8:
+ if ( ++p == pe )
+ goto _test_eof8;
+case 8:
+ switch( (*p) ) {
+ case 42: goto st8;
+ case 47: goto st10;
+ }
+ goto st7;
+st9:
+ if ( ++p == pe )
+ goto _test_eof9;
+case 9:
+ if ( (*p) == 10 )
+ goto st10;
+ goto st9;
+ }
+ _test_eof1: cs = 1; goto _test_eof;
+ _test_eof2: cs = 2; goto _test_eof;
+ _test_eof3: cs = 3; goto _test_eof;
+ _test_eof4: cs = 4; goto _test_eof;
+ _test_eof5: cs = 5; goto _test_eof;
+ _test_eof10: cs = 10; goto _test_eof;
+ _test_eof6: cs = 6; goto _test_eof;
+ _test_eof7: cs = 7; goto _test_eof;
+ _test_eof8: cs = 8; goto _test_eof;
+ _test_eof9: cs = 9; goto _test_eof;
+
+ _test_eof: {}
+ _out: {}
+ }
+
+#line 685 &quot;parser.rl&quot;
+
+ if (cs &gt;= JSON_first_final &amp;&amp; p == pe) {
+ return result;
+ } else {
+ rb_raise(eParserError, &quot;%u: unexpected token at '%s'&quot;, __LINE__, p);
+ }
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Ext/Parser.src/M000142.html b/doc/classes/JSON/Ext/Parser.src/M000142.html
new file mode 100644
index 0000000..385807b
--- /dev/null
+++ b/doc/classes/JSON/Ext/Parser.src/M000142.html
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>source (JSON::Ext::Parser)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre>/*
+ * call-seq: source()
+ *
+ * Returns a copy of the current _source_ string, that was used to construct
+ * this Parser.
+ */
+static VALUE cParser_source(VALUE self)
+{
+ GET_PARSER;
+ return rb_str_dup(json-&gt;Vsource);
+}</pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/GeneratorError.html b/doc/classes/JSON/GeneratorError.html
new file mode 100644
index 0000000..6d2aa47
--- /dev/null
+++ b/doc/classes/JSON/GeneratorError.html
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: JSON::GeneratorError</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">JSON::GeneratorError</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../files/lib/json/common_rb.html">
+ lib/json/common.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ <a href="JSONError.html">
+ JSONError
+ </a>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="description">
+ <p>
+This exception is raised, if a generator or unparser error occurs.
+</p>
+
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/JSONError.html b/doc/classes/JSON/JSONError.html
new file mode 100644
index 0000000..e6199f2
--- /dev/null
+++ b/doc/classes/JSON/JSONError.html
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: JSON::JSONError</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">JSON::JSONError</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../files/lib/json/common_rb.html">
+ lib/json/common.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ StandardError
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="description">
+ <p>
+The base exception for <a href="../JSON.html">JSON</a> errors.
+</p>
+
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/MissingUnicodeSupport.html b/doc/classes/JSON/MissingUnicodeSupport.html
new file mode 100644
index 0000000..18d059c
--- /dev/null
+++ b/doc/classes/JSON/MissingUnicodeSupport.html
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: JSON::MissingUnicodeSupport</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">JSON::MissingUnicodeSupport</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../files/lib/json/common_rb.html">
+ lib/json/common.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ <a href="JSONError.html">
+ JSONError
+ </a>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="description">
+ <p>
+This exception is raised, if the required unicode support is missing on the
+system. Usually this means, that the iconv library is not installed.
+</p>
+
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/NestingError.html b/doc/classes/JSON/NestingError.html
new file mode 100644
index 0000000..f48b6d3
--- /dev/null
+++ b/doc/classes/JSON/NestingError.html
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: JSON::NestingError</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">JSON::NestingError</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../files/lib/json/common_rb.html">
+ lib/json/common.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ <a href="ParserError.html">
+ ParserError
+ </a>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="description">
+ <p>
+This exception is raised, if the nesting of parsed datastructures is too
+deep.
+</p>
+
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/ParserError.html b/doc/classes/JSON/ParserError.html
new file mode 100644
index 0000000..6f211fd
--- /dev/null
+++ b/doc/classes/JSON/ParserError.html
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: JSON::ParserError</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">JSON::ParserError</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../files/lib/json/common_rb.html">
+ lib/json/common.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ <a href="JSONError.html">
+ JSONError
+ </a>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="description">
+ <p>
+This exception is raised, if a parser error occurs.
+</p>
+
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure.html b/doc/classes/JSON/Pure.html
new file mode 100644
index 0000000..db7d4bd
--- /dev/null
+++ b/doc/classes/JSON/Pure.html
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Pure</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Pure</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../files/lib/json/pure/generator_rb.html">
+ lib/json/pure/generator.rb
+ </a>
+ <br />
+ <a href="../../files/lib/json/pure/parser_rb.html">
+ lib/json/pure/parser.rb
+ </a>
+ <br />
+ <a href="../../files/lib/json/pure_rb.html">
+ lib/json/pure.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="description">
+ <p>
+This module holds all the modules/classes that implement <a
+href="../JSON.html">JSON</a>&#8216;s functionality in pure ruby.
+</p>
+
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+ <div id="class-list">
+ <h3 class="section-bar">Classes and Modules</h3>
+
+ Module <a href="Pure/Generator.html" class="link">JSON::Pure::Generator</a><br />
+Class <a href="Pure/Parser.html" class="link">JSON::Pure::Parser</a><br />
+
+ </div>
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure/Generator.html b/doc/classes/JSON/Pure/Generator.html
new file mode 100644
index 0000000..68e3e59
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator.html
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Pure::Generator</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Pure::Generator</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../files/lib/json/pure/generator_rb.html">
+ lib/json/pure/generator.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+ <div id="class-list">
+ <h3 class="section-bar">Classes and Modules</h3>
+
+ Module <a href="Generator/GeneratorMethods.html" class="link">JSON::Pure::Generator::GeneratorMethods</a><br />
+Class <a href="Generator/State.html" class="link">JSON::Pure::Generator::State</a><br />
+
+ </div>
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</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..2c80ba5
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods.html
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Pure::Generator::GeneratorMethods</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Pure::Generator::GeneratorMethods</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../../files/lib/json/pure/generator_rb.html">
+ lib/json/pure/generator.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+ <div id="class-list">
+ <h3 class="section-bar">Classes and Modules</h3>
+
+ Module <a href="GeneratorMethods/Array.html" class="link">JSON::Pure::Generator::GeneratorMethods::Array</a><br />
+Module <a href="GeneratorMethods/FalseClass.html" class="link">JSON::Pure::Generator::GeneratorMethods::FalseClass</a><br />
+Module <a href="GeneratorMethods/Float.html" class="link">JSON::Pure::Generator::GeneratorMethods::Float</a><br />
+Module <a href="GeneratorMethods/Hash.html" class="link">JSON::Pure::Generator::GeneratorMethods::Hash</a><br />
+Module <a href="GeneratorMethods/Integer.html" class="link">JSON::Pure::Generator::GeneratorMethods::Integer</a><br />
+Module <a href="GeneratorMethods/NilClass.html" class="link">JSON::Pure::Generator::GeneratorMethods::NilClass</a><br />
+Module <a href="GeneratorMethods/Object.html" class="link">JSON::Pure::Generator::GeneratorMethods::Object</a><br />
+Module <a href="GeneratorMethods/String.html" class="link">JSON::Pure::Generator::GeneratorMethods::String</a><br />
+Module <a href="GeneratorMethods/TrueClass.html" class="link">JSON::Pure::Generator::GeneratorMethods::TrueClass</a><br />
+
+ </div>
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</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..2c7862e
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/Array.html
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Pure::Generator::GeneratorMethods::Array</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Pure::Generator::GeneratorMethods::Array</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../../../files/lib/json/pure/generator_rb.html">
+ lib/json/pure/generator.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000146">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000146" class="method-detail">
+ <a name="M000146"></a>
+
+ <div class="method-heading">
+ <a href="Array.src/M000146.html" target="Code" class="method-signature"
+ onclick="popupCode('Array.src/M000146.html');return false;">
+ <span class="method-name">to_json</span><span class="method-args">(state = nil, depth = 0, *)</span>
+ </a>
+ </div>
+
+ <div class="method-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. <em>depth</em>
+is used to find out nesting depth, to indent accordingly.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure/Generator/GeneratorMethods/Array.src/M000146.html b/doc/classes/JSON/Pure/Generator/GeneratorMethods/Array.src/M000146.html
new file mode 100644
index 0000000..8d093ad
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/Array.src/M000146.html
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (JSON::Pure::Generator::GeneratorMethods::Array)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/pure/generator.rb, line 300</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_json</span>(<span class="ruby-identifier">state</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">depth</span> = <span class="ruby-value">0</span>, <span class="ruby-operator">*</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">state</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">depth</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">json_transform</span>(<span class="ruby-identifier">state</span>, <span class="ruby-identifier">depth</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</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..d30e620
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/FalseClass.html
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Pure::Generator::GeneratorMethods::FalseClass</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Pure::Generator::GeneratorMethods::FalseClass</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../../../files/lib/json/pure/generator_rb.html">
+ lib/json/pure/generator.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000145">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000145" class="method-detail">
+ <a name="M000145"></a>
+
+ <div class="method-heading">
+ <a href="FalseClass.src/M000145.html" target="Code" class="method-signature"
+ onclick="popupCode('FalseClass.src/M000145.html');return false;">
+ <span class="method-name">to_json</span><span class="method-args">(*)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Returns a <a href="../../../../JSON.html">JSON</a> string for false:
+&#8216;false&#8217;.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure/Generator/GeneratorMethods/FalseClass.src/M000145.html b/doc/classes/JSON/Pure/Generator/GeneratorMethods/FalseClass.src/M000145.html
new file mode 100644
index 0000000..30b19fc
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/FalseClass.src/M000145.html
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (JSON::Pure::Generator::GeneratorMethods::FalseClass)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/pure/generator.rb, line 437</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span>) <span class="ruby-value str">'false'</span> <span class="ruby-keyword kw">end</span></pre>
+</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..01e84b0
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/Float.html
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Pure::Generator::GeneratorMethods::Float</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Pure::Generator::GeneratorMethods::Float</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../../../files/lib/json/pure/generator_rb.html">
+ lib/json/pure/generator.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000148">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000148" class="method-detail">
+ <a name="M000148"></a>
+
+ <div class="method-heading">
+ <a href="Float.src/M000148.html" target="Code" class="method-signature"
+ onclick="popupCode('Float.src/M000148.html');return false;">
+ <span class="method-name">to_json</span><span class="method-args">(state = nil, *)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Returns a <a href="../../../../JSON.html">JSON</a> string representation
+for this <a href="Float.html">Float</a> number.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure/Generator/GeneratorMethods/Float.src/M000148.html b/doc/classes/JSON/Pure/Generator/GeneratorMethods/Float.src/M000148.html
new file mode 100644
index 0000000..271482a
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/Float.src/M000148.html
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (JSON::Pure::Generator::GeneratorMethods::Float)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/pure/generator.rb, line 342</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_json</span>(<span class="ruby-identifier">state</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-operator">*</span>)
+ <span class="ruby-keyword kw">case</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">infinite?</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">state</span> <span class="ruby-operator">&amp;&amp;</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 kw">else</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">GeneratorError</span>, <span class="ruby-node">&quot;#{self} not allowed in JSON&quot;</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">nan?</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">state</span> <span class="ruby-operator">&amp;&amp;</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 kw">else</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">GeneratorError</span>, <span class="ruby-node">&quot;#{self} not allowed in JSON&quot;</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">to_s</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</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..d698e81
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/Hash.html
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Pure::Generator::GeneratorMethods::Hash</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Pure::Generator::GeneratorMethods::Hash</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../../../files/lib/json/pure/generator_rb.html">
+ lib/json/pure/generator.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000147">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000147" class="method-detail">
+ <a name="M000147"></a>
+
+ <div class="method-heading">
+ <a href="Hash.src/M000147.html" target="Code" class="method-signature"
+ onclick="popupCode('Hash.src/M000147.html');return false;">
+ <span class="method-name">to_json</span><span class="method-args">(state = nil, depth = 0, *)</span>
+ </a>
+ </div>
+
+ <div class="method-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>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure/Generator/GeneratorMethods/Hash.src/M000147.html b/doc/classes/JSON/Pure/Generator/GeneratorMethods/Hash.src/M000147.html
new file mode 100644
index 0000000..c899609
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/Hash.src/M000147.html
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (JSON::Pure::Generator::GeneratorMethods::Hash)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/pure/generator.rb, line 245</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_json</span>(<span class="ruby-identifier">state</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">depth</span> = <span class="ruby-value">0</span>, <span class="ruby-operator">*</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">state</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">depth</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">json_transform</span>(<span class="ruby-identifier">state</span>, <span class="ruby-identifier">depth</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</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..70131b7
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/Integer.html
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Pure::Generator::GeneratorMethods::Integer</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Pure::Generator::GeneratorMethods::Integer</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../../../files/lib/json/pure/generator_rb.html">
+ lib/json/pure/generator.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000144">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000144" class="method-detail">
+ <a name="M000144"></a>
+
+ <div class="method-heading">
+ <a href="Integer.src/M000144.html" target="Code" class="method-signature"
+ onclick="popupCode('Integer.src/M000144.html');return false;">
+ <span class="method-name">to_json</span><span class="method-args">(*)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Returns a <a href="../../../../JSON.html">JSON</a> string representation
+for this <a href="Integer.html">Integer</a> number.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure/Generator/GeneratorMethods/Integer.src/M000144.html b/doc/classes/JSON/Pure/Generator/GeneratorMethods/Integer.src/M000144.html
new file mode 100644
index 0000000..fe9babf
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/Integer.src/M000144.html
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (JSON::Pure::Generator::GeneratorMethods::Integer)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/pure/generator.rb, line 337</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span>) <span class="ruby-identifier">to_s</span> <span class="ruby-keyword kw">end</span></pre>
+</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..481d34d
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/NilClass.html
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Pure::Generator::GeneratorMethods::NilClass</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Pure::Generator::GeneratorMethods::NilClass</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../../../files/lib/json/pure/generator_rb.html">
+ lib/json/pure/generator.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000149">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000149" class="method-detail">
+ <a name="M000149"></a>
+
+ <div class="method-heading">
+ <a href="NilClass.src/M000149.html" target="Code" class="method-signature"
+ onclick="popupCode('NilClass.src/M000149.html');return false;">
+ <span class="method-name">to_json</span><span class="method-args">(*)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Returns a <a href="../../../../JSON.html">JSON</a> string for nil:
+&#8216;null&#8217;.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure/Generator/GeneratorMethods/NilClass.src/M000149.html b/doc/classes/JSON/Pure/Generator/GeneratorMethods/NilClass.src/M000149.html
new file mode 100644
index 0000000..74f743a
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/NilClass.src/M000149.html
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (JSON::Pure::Generator::GeneratorMethods::NilClass)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/pure/generator.rb, line 442</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span>) <span class="ruby-value str">'null'</span> <span class="ruby-keyword kw">end</span></pre>
+</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..d866a9d
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/Object.html
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Pure::Generator::GeneratorMethods::Object</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Pure::Generator::GeneratorMethods::Object</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../../../files/lib/json/pure/generator_rb.html">
+ lib/json/pure/generator.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000143">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000143" class="method-detail">
+ <a name="M000143"></a>
+
+ <div class="method-heading">
+ <a href="Object.src/M000143.html" target="Code" class="method-signature"
+ onclick="popupCode('Object.src/M000143.html');return false;">
+ <span class="method-name">to_json</span><span class="method-args">(*)</span>
+ </a>
+ </div>
+
+ <div class="method-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#M000143">to_json</a> was defined for some object.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure/Generator/GeneratorMethods/Object.src/M000143.html b/doc/classes/JSON/Pure/Generator/GeneratorMethods/Object.src/M000143.html
new file mode 100644
index 0000000..bd54d86
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/Object.src/M000143.html
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (JSON::Pure::Generator::GeneratorMethods::Object)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/pure/generator.rb, line 236</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span>) <span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">to_json</span> <span class="ruby-keyword kw">end</span></pre>
+</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..079a39b
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/String.html
@@ -0,0 +1,226 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Pure::Generator::GeneratorMethods::String</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Pure::Generator::GeneratorMethods::String</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../../../files/lib/json/pure/generator_rb.html">
+ lib/json/pure/generator.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000153">included</a>&nbsp;&nbsp;
+ <a href="#M000151">to_json</a>&nbsp;&nbsp;
+ <a href="#M000152">to_json</a>&nbsp;&nbsp;
+ <a href="#M000155">to_json_raw</a>&nbsp;&nbsp;
+ <a href="#M000154">to_json_raw_object</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+ <div id="class-list">
+ <h3 class="section-bar">Classes and Modules</h3>
+
+ Module <a href="String/Extend.html" class="link">JSON::Pure::Generator::GeneratorMethods::String::Extend</a><br />
+
+ </div>
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Class methods</h3>
+
+ <div id="method-M000153" class="method-detail">
+ <a name="M000153"></a>
+
+ <div class="method-heading">
+ <a href="String.src/M000153.html" target="Code" class="method-signature"
+ onclick="popupCode('String.src/M000153.html');return false;">
+ <span class="method-name">included</span><span class="method-args">(modul)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Extends <em>modul</em> with the <a
+href="String/Extend.html">String::Extend</a> module.
+</p>
+ </div>
+ </div>
+
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000151" class="method-detail">
+ <a name="M000151"></a>
+
+ <div class="method-heading">
+ <a href="String.src/M000151.html" target="Code" class="method-signature"
+ onclick="popupCode('String.src/M000151.html');return false;">
+ <span class="method-name">to_json</span><span class="method-args">(*args)</span>
+ </a>
+ </div>
+
+ <div class="method-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>
+
+ <div id="method-M000152" class="method-detail">
+ <a name="M000152"></a>
+
+ <div class="method-heading">
+ <a href="String.src/M000152.html" target="Code" class="method-signature"
+ onclick="popupCode('String.src/M000152.html');return false;">
+ <span class="method-name">to_json</span><span class="method-args">(*args)</span>
+ </a>
+ </div>
+
+ <div class="method-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>
+
+ <div id="method-M000155" class="method-detail">
+ <a name="M000155"></a>
+
+ <div class="method-heading">
+ <a href="String.src/M000155.html" target="Code" class="method-signature"
+ onclick="popupCode('String.src/M000155.html');return false;">
+ <span class="method-name">to_json_raw</span><span class="method-args">(*args)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+This method creates a <a href="../../../../JSON.html">JSON</a> text from
+the result of a call to <a
+href="String.html#M000154">to_json_raw_object</a> of this <a
+href="String.html">String</a>.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000154" class="method-detail">
+ <a name="M000154"></a>
+
+ <div class="method-heading">
+ <a href="String.src/M000154.html" target="Code" class="method-signature"
+ onclick="popupCode('String.src/M000154.html');return false;">
+ <span class="method-name">to_json_raw_object</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-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>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure/Generator/GeneratorMethods/String.src/M000151.html b/doc/classes/JSON/Pure/Generator/GeneratorMethods/String.src/M000151.html
new file mode 100644
index 0000000..ee1af69
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/String.src/M000151.html
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (JSON::Pure::Generator::GeneratorMethods::String)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/pure/generator.rb, line 367</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
+ <span class="ruby-identifier">state</span>, = <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>
+ <span class="ruby-identifier">state</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">State</span>.<span class="ruby-identifier">from_state</span>(<span class="ruby-identifier">state</span>)
+ <span class="ruby-keyword kw">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 kw">self</span>
+ <span class="ruby-keyword kw">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 kw">end</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">state</span>.<span class="ruby-identifier">ascii_only?</span>
+ <span class="ruby-value str">'&quot;'</span> <span class="ruby-operator">&lt;&lt;</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">&lt;&lt;</span> <span class="ruby-value str">'&quot;'</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-value str">'&quot;'</span> <span class="ruby-operator">&lt;&lt;</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">&lt;&lt;</span> <span class="ruby-value str">'&quot;'</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure/Generator/GeneratorMethods/String.src/M000152.html b/doc/classes/JSON/Pure/Generator/GeneratorMethods/String.src/M000152.html
new file mode 100644
index 0000000..12b1b9d
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/String.src/M000152.html
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (JSON::Pure::Generator::GeneratorMethods::String)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/pure/generator.rb, line 385</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
+ <span class="ruby-identifier">state</span>, = <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>
+ <span class="ruby-identifier">state</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">State</span>.<span class="ruby-identifier">from_state</span>(<span class="ruby-identifier">state</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">state</span>.<span class="ruby-identifier">ascii_only?</span>
+ <span class="ruby-value str">'&quot;'</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">utf8_to_json_ascii</span>(<span class="ruby-keyword kw">self</span>) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'&quot;'</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-value str">'&quot;'</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">utf8_to_json</span>(<span class="ruby-keyword kw">self</span>) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'&quot;'</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure/Generator/GeneratorMethods/String.src/M000153.html b/doc/classes/JSON/Pure/Generator/GeneratorMethods/String.src/M000153.html
new file mode 100644
index 0000000..8dd902f
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/String.src/M000153.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>included (JSON::Pure::Generator::GeneratorMethods::String)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/pure/generator.rb, line 408</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">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 kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure/Generator/GeneratorMethods/String.src/M000154.html b/doc/classes/JSON/Pure/Generator/GeneratorMethods/String.src/M000154.html
new file mode 100644
index 0000000..3dd0252
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/String.src/M000154.html
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json_raw_object (JSON::Pure::Generator::GeneratorMethods::String)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/pure/generator.rb, line 416</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_json_raw_object</span>
+ {
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">create_id</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">name</span>,
+ <span class="ruby-value str">'raw'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-value str">'C*'</span>),
+ }
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure/Generator/GeneratorMethods/String.src/M000155.html b/doc/classes/JSON/Pure/Generator/GeneratorMethods/String.src/M000155.html
new file mode 100644
index 0000000..4d5ff57
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/String.src/M000155.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json_raw (JSON::Pure::Generator::GeneratorMethods::String)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/pure/generator.rb, line 425</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_json_raw</span>(<span class="ruby-operator">*</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-operator">*</span><span class="ruby-identifier">args</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</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..0e61591
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/String/Extend.html
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Pure::Generator::GeneratorMethods::String::Extend</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Pure::Generator::GeneratorMethods::String::Extend</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../../../../files/lib/json/pure/generator_rb.html">
+ lib/json/pure/generator.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="description">
+ <p>
+Module that holds the extinding methods if, the <a
+href="../String.html">String</a> module is included.
+</p>
+
+ </div>
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000156">json_create</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000156" class="method-detail">
+ <a name="M000156"></a>
+
+ <div class="method-heading">
+ <a href="Extend.src/M000156.html" target="Code" class="method-signature"
+ onclick="popupCode('Extend.src/M000156.html');return false;">
+ <span class="method-name">json_create</span><span class="method-args">(o)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Raw Strings are <a href="../../../../../JSON.html">JSON</a> Objects (the
+raw bytes are stored in an array for the key &quot;raw&quot;). The Ruby <a
+href="../String.html">String</a> can be created by this module method.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure/Generator/GeneratorMethods/String/Extend.src/M000156.html b/doc/classes/JSON/Pure/Generator/GeneratorMethods/String/Extend.src/M000156.html
new file mode 100644
index 0000000..6b53a6d
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/String/Extend.src/M000156.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>json_create (JSON::Pure::Generator::GeneratorMethods::String::Extend)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/pure/generator.rb, line 402</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">json_create</span>(<span class="ruby-identifier">o</span>)
+ <span class="ruby-identifier">o</span>[<span class="ruby-value str">'raw'</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-value str">'C*'</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</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..f231d6d
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/TrueClass.html
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: JSON::Pure::Generator::GeneratorMethods::TrueClass</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">JSON::Pure::Generator::GeneratorMethods::TrueClass</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../../../files/lib/json/pure/generator_rb.html">
+ lib/json/pure/generator.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000150">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000150" class="method-detail">
+ <a name="M000150"></a>
+
+ <div class="method-heading">
+ <a href="TrueClass.src/M000150.html" target="Code" class="method-signature"
+ onclick="popupCode('TrueClass.src/M000150.html');return false;">
+ <span class="method-name">to_json</span><span class="method-args">(*)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Returns a <a href="../../../../JSON.html">JSON</a> string for true:
+&#8216;true&#8217;.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure/Generator/GeneratorMethods/TrueClass.src/M000150.html b/doc/classes/JSON/Pure/Generator/GeneratorMethods/TrueClass.src/M000150.html
new file mode 100644
index 0000000..98108de
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/GeneratorMethods/TrueClass.src/M000150.html
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (JSON::Pure::Generator::GeneratorMethods::TrueClass)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/pure/generator.rb, line 432</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span>) <span class="ruby-value str">'true'</span> <span class="ruby-keyword kw">end</span></pre>
+</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..a8c2fc6
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/State.html
@@ -0,0 +1,388 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: JSON::Pure::Generator::State</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">JSON::Pure::Generator::State</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../../files/lib/json/pure/generator_rb.html">
+ lib/json/pure/generator.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ <a href="../../../Object.html">
+ Object
+ </a>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="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 a Ruby data structure.
+</p>
+
+ </div>
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000160">allow_nan?</a>&nbsp;&nbsp;
+ <a href="#M000161">ascii_only?</a>&nbsp;&nbsp;
+ <a href="#M000159">check_circular?</a>&nbsp;&nbsp;
+ <a href="#M000162">configure</a>&nbsp;&nbsp;
+ <a href="#M000157">from_state</a>&nbsp;&nbsp;
+ <a href="#M000164">generate</a>&nbsp;&nbsp;
+ <a href="#M000158">new</a>&nbsp;&nbsp;
+ <a href="#M000163">to_h</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+ <div id="attribute-list">
+ <h3 class="section-bar">Attributes</h3>
+
+ <div class="name-list">
+ <table>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">array_nl</td>
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
+ <td class="context-item-desc">
+This string is put at the end of a line that holds a <a
+href="../../../JSON.html">JSON</a> array.
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">indent</td>
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
+ <td class="context-item-desc">
+This string is used to indent levels in the <a
+href="../../../JSON.html">JSON</a> text.
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">max_nesting</td>
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
+ <td class="context-item-desc">
+This integer returns the maximum level of data structure nesting in the
+generated <a href="../../../JSON.html">JSON</a>, max_nesting = 0 if no
+maximum is checked.
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">object_nl</td>
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
+ <td class="context-item-desc">
+This string is put at the end of a line that holds a <a
+href="../../../JSON.html">JSON</a> object (or Hash).
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">space</td>
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
+ <td class="context-item-desc">
+This string is used to insert a space between the tokens in a <a
+href="../../../JSON.html">JSON</a> string.
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">space_before</td>
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
+ <td class="context-item-desc">
+This string is used to insert a space before the &#8217;:&#8217; in <a
+href="../../../JSON.html">JSON</a> objects.
+
+</td>
+ </tr>
+ </table>
+ </div>
+ </div>
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Class methods</h3>
+
+ <div id="method-M000157" class="method-detail">
+ <a name="M000157"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000157.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000157.html');return false;">
+ <span class="method-name">from_state</span><span class="method-args">(opts)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Creates a <a href="State.html">State</a> object from <em>opts</em>, which
+ought to be Hash to create a <a href="State.html#M000158">new</a> <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>
+
+ <div id="method-M000158" class="method-detail">
+ <a name="M000158"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000158.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000158.html');return false;">
+ <span class="method-name">new</span><span class="method-args">(opts = {})</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Instantiates a <a href="State.html#M000158">new</a> <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><b>indent</b>: a string used to indent levels (default: &#8217;&#8217;),
+
+</li>
+<li><b>space</b>: a string that is put after, a : or , delimiter (default:
+&#8217;&#8217;),
+
+</li>
+<li><b>space_before</b>: a string that is put before a : pair delimiter
+(default: &#8217;&#8217;),
+
+</li>
+<li><b>object_nl</b>: a string that is put at the end of a <a
+href="../../../JSON.html">JSON</a> object (default: &#8217;&#8217;),
+
+</li>
+<li><b>array_nl</b>: a string that is put at the end of a <a
+href="../../../JSON.html">JSON</a> array (default: &#8217;&#8217;),
+
+</li>
+<li><b>check_circular</b>: is deprecated now, use the :max_nesting option
+instead,
+
+</li>
+<li><b>max_nesting</b>: sets the maximum level of data structure nesting in the
+generated <a href="../../../JSON.html">JSON</a>, max_nesting = 0 if no
+maximum should be checked.
+
+</li>
+<li><b>allow_nan</b>: true if NaN, Infinity, and -Infinity should be generated,
+otherwise an exception is thrown, if these values are encountered. This
+options defaults to false.
+
+</li>
+</ul>
+ </div>
+ </div>
+
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000160" class="method-detail">
+ <a name="M000160"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000160.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000160.html');return false;">
+ <span class="method-name">allow_nan?</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-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>
+
+ <div id="method-M000161" class="method-detail">
+ <a name="M000161"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000161.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000161.html');return false;">
+ <span class="method-name">ascii_only?</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+ <div id="method-M000159" class="method-detail">
+ <a name="M000159"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000159.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000159.html');return false;">
+ <span class="method-name">check_circular?</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Returns true, if circular data structures are checked, otherwise returns
+false.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000162" class="method-detail">
+ <a name="M000162"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000162.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000162.html');return false;">
+ <span class="method-name">configure</span><span class="method-args">(opts)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Configure this <a href="State.html">State</a> instance with the Hash
+<em>opts</em>, and return itself.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000164" class="method-detail">
+ <a name="M000164"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000164.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000164.html');return false;">
+ <span class="method-name">generate</span><span class="method-args">(obj)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Generates a valid <a href="../../../JSON.html">JSON</a> document from
+object <tt>obj</tt> 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>
+
+ <div id="method-M000163" class="method-detail">
+ <a name="M000163"></a>
+
+ <div class="method-heading">
+ <a href="State.src/M000163.html" target="Code" class="method-signature"
+ onclick="popupCode('State.src/M000163.html');return false;">
+ <span class="method-name">to_h</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Returns the configuration instance variables as a hash, that can be passed
+to the <a href="State.html#M000162">configure</a> method.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure/Generator/State.src/M000157.html b/doc/classes/JSON/Pure/Generator/State.src/M000157.html
new file mode 100644
index 0000000..f087c13
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/State.src/M000157.html
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>from_state (JSON::Pure::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/pure/generator.rb, line 108</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">from_state</span>(<span class="ruby-identifier">opts</span>)
+ <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">opts</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">self</span>
+ <span class="ruby-identifier">opts</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Hash</span>
+ <span class="ruby-identifier">new</span>(<span class="ruby-identifier">opts</span>)
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-constant">SAFE_STATE_PROTOTYPE</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure/Generator/State.src/M000158.html b/doc/classes/JSON/Pure/Generator/State.src/M000158.html
new file mode 100644
index 0000000..16848c7
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/State.src/M000158.html
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>new (JSON::Pure::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/pure/generator.rb, line 134</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">opts</span> = {})
+ <span class="ruby-ivar">@indent</span> = <span class="ruby-value str">''</span>
+ <span class="ruby-ivar">@space</span> = <span class="ruby-value str">''</span>
+ <span class="ruby-ivar">@space_before</span> = <span class="ruby-value str">''</span>
+ <span class="ruby-ivar">@object_nl</span> = <span class="ruby-value str">''</span>
+ <span class="ruby-ivar">@array_nl</span> = <span class="ruby-value str">''</span>
+ <span class="ruby-ivar">@allow_nan</span> = <span class="ruby-keyword kw">false</span>
+ <span class="ruby-ivar">@ascii_only</span> = <span class="ruby-keyword kw">false</span>
+ <span class="ruby-identifier">configure</span> <span class="ruby-identifier">opts</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure/Generator/State.src/M000159.html b/doc/classes/JSON/Pure/Generator/State.src/M000159.html
new file mode 100644
index 0000000..ea0332f
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/State.src/M000159.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>check_circular? (JSON::Pure::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/pure/generator.rb, line 175</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">check_circular?</span>
+ <span class="ruby-operator">!</span><span class="ruby-operator">!</span><span class="ruby-ivar">@max_nesting</span>.<span class="ruby-identifier">zero?</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure/Generator/State.src/M000160.html b/doc/classes/JSON/Pure/Generator/State.src/M000160.html
new file mode 100644
index 0000000..c1d2edf
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/State.src/M000160.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>allow_nan? (JSON::Pure::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/pure/generator.rb, line 181</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">allow_nan?</span>
+ <span class="ruby-ivar">@allow_nan</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure/Generator/State.src/M000161.html b/doc/classes/JSON/Pure/Generator/State.src/M000161.html
new file mode 100644
index 0000000..20ef20f
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/State.src/M000161.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>ascii_only? (JSON::Pure::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/pure/generator.rb, line 185</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ascii_only?</span>
+ <span class="ruby-ivar">@ascii_only</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure/Generator/State.src/M000162.html b/doc/classes/JSON/Pure/Generator/State.src/M000162.html
new file mode 100644
index 0000000..d93e652
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/State.src/M000162.html
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>configure (JSON::Pure::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/pure/generator.rb, line 191</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">configure</span>(<span class="ruby-identifier">opts</span>)
+ <span class="ruby-ivar">@indent</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:indent</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">:indent</span>)
+ <span class="ruby-ivar">@space</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:space</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">:space</span>)
+ <span class="ruby-ivar">@space_before</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:space_before</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">:space_before</span>)
+ <span class="ruby-ivar">@object_nl</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:object_nl</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">:object_nl</span>)
+ <span class="ruby-ivar">@array_nl</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:array_nl</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">: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-identifier">:allow_nan</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">:allow_nan</span>)
+ <span class="ruby-ivar">@ascii_only</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:ascii_only</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">:ascii_only</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">opts</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">:max_nesting</span>) <span class="ruby-comment cmt"># defaults to 19</span>
+ <span class="ruby-ivar">@max_nesting</span> = <span class="ruby-value">19</span>
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:max_nesting</span>]
+ <span class="ruby-ivar">@max_nesting</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:max_nesting</span>]
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-ivar">@max_nesting</span> = <span class="ruby-value">0</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">self</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure/Generator/State.src/M000163.html b/doc/classes/JSON/Pure/Generator/State.src/M000163.html
new file mode 100644
index 0000000..d112cff
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/State.src/M000163.html
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_h (JSON::Pure::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/pure/generator.rb, line 211</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_h</span>
+ <span class="ruby-identifier">result</span> = {}
+ <span class="ruby-keyword kw">for</span> <span class="ruby-identifier">iv</span> <span class="ruby-keyword kw">in</span> <span class="ruby-node">%w[indent space space_before object_nl array_nl allow_nan max_nesting]</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">&quot;@#{iv}&quot;</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">result</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure/Generator/State.src/M000164.html b/doc/classes/JSON/Pure/Generator/State.src/M000164.html
new file mode 100644
index 0000000..ec94917
--- /dev/null
+++ b/doc/classes/JSON/Pure/Generator/State.src/M000164.html
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>generate (JSON::Pure::Generator::State)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/pure/generator.rb, line 222</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">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 kw">self</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">result</span> <span class="ruby-operator">!~</span> <span class="ruby-regexp re">/\A\s*(?:\[.*\]|\{.*\})\s*\Z/</span><span class="ruby-identifier">m</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">GeneratorError</span>, <span class="ruby-value str">&quot;only generation of JSON objects or arrays allowed&quot;</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">result</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</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..b01244e
--- /dev/null
+++ b/doc/classes/JSON/Pure/Parser.html
@@ -0,0 +1,314 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: JSON::Pure::Parser</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">JSON::Pure::Parser</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../../../files/lib/json/pure/parser_rb.html">
+ lib/json/pure/parser.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ StringScanner
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="description">
+ <p>
+This class implements the <a href="../../JSON.html">JSON</a> parser that is
+used to <a href="Parser.html#M000166">parse</a> a <a
+href="../../JSON.html">JSON</a> string into a Ruby data structure.
+</p>
+
+ </div>
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000165">new</a>&nbsp;&nbsp;
+ <a href="#M000166">parse</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+ <div id="constants-list">
+ <h3 class="section-bar">Constants</h3>
+
+ <div class="name-list">
+ <table summary="Constants">
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">STRING</td>
+ <td>=</td>
+ <td class="context-item-value">/&quot; ((?:[^\x0-\x1f&quot;\\] | # escaped special characters: \\[&quot;\\\/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])*) &quot;/nx</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">INTEGER</td>
+ <td>=</td>
+ <td class="context-item-value">/(-?0|-?[1-9]\d*)/</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">FLOAT</td>
+ <td>=</td>
+ <td class="context-item-value">/(-? (?:0|[1-9]\d*) (?: \.\d+(?i:e[+-]?\d+) | \.\d+ | (?i:e[+-]?\d+) ) )/x</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">NAN</td>
+ <td>=</td>
+ <td class="context-item-value">/NaN/</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">INFINITY</td>
+ <td>=</td>
+ <td class="context-item-value">/Infinity/</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">MINUS_INFINITY</td>
+ <td>=</td>
+ <td class="context-item-value">/-Infinity/</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">OBJECT_OPEN</td>
+ <td>=</td>
+ <td class="context-item-value">/\{/</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">OBJECT_CLOSE</td>
+ <td>=</td>
+ <td class="context-item-value">/\}/</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">ARRAY_OPEN</td>
+ <td>=</td>
+ <td class="context-item-value">/\[/</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">ARRAY_CLOSE</td>
+ <td>=</td>
+ <td class="context-item-value">/\]/</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">PAIR_DELIMITER</td>
+ <td>=</td>
+ <td class="context-item-value">/:/</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">COLLECTION_DELIMITER</td>
+ <td>=</td>
+ <td class="context-item-value">/,/</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">TRUE</td>
+ <td>=</td>
+ <td class="context-item-value">/true/</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">FALSE</td>
+ <td>=</td>
+ <td class="context-item-value">/false/</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">NULL</td>
+ <td>=</td>
+ <td class="context-item-value">/null/</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">IGNORE</td>
+ <td>=</td>
+ <td class="context-item-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 class="top-aligned-row context-row">
+ <td class="context-item-name">UNPARSED</td>
+ <td>=</td>
+ <td class="context-item-value">Object.new</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">UNESCAPE_MAP</td>
+ <td>=</td>
+ <td class="context-item-value">Hash.new { |h, k| h[k] = k.chr }</td>
+ <td width="3em">&nbsp;</td>
+ <td class="context-item-desc">
+Unescape characters in strings.
+
+</td>
+ </tr>
+ </table>
+ </div>
+ </div>
+
+ <div id="aliases-list">
+ <h3 class="section-bar">External Aliases</h3>
+
+ <div class="name-list">
+ <table summary="aliases">
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">string</td>
+ <td>-&gt;</td>
+ <td class="context-item-value">source</td>
+ </tr>
+ </table>
+ </div>
+ </div>
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Class methods</h3>
+
+ <div id="method-M000165" class="method-detail">
+ <a name="M000165"></a>
+
+ <div class="method-heading">
+ <a href="Parser.src/M000165.html" target="Code" class="method-signature"
+ onclick="popupCode('Parser.src/M000165.html');return false;">
+ <span class="method-name">new</span><span class="method-args">(source, opts = {})</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Creates a <a href="Parser.html#M000165">new</a> <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><b>max_nesting</b>: The maximum depth of nesting allowed in the parsed data
+structures. Disable depth checking with :max_nesting =&gt; false|nil|0, it
+defaults to 19.
+
+</li>
+<li><b>allow_nan</b>: 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.
+
+</li>
+<li><b>create_additions</b>: If set to false, the <a
+href="Parser.html">Parser</a> doesn&#8216;t create additions even if a
+matchin class and create_id was found. This option defaults to true.
+
+</li>
+<li><b>object_class</b>: Defaults to Hash
+
+</li>
+<li><b>array_class</b>: Defaults to Array
+
+</li>
+</ul>
+ </div>
+ </div>
+
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000166" class="method-detail">
+ <a name="M000166"></a>
+
+ <div class="method-heading">
+ <a href="Parser.src/M000166.html" target="Code" class="method-signature"
+ onclick="popupCode('Parser.src/M000166.html');return false;">
+ <span class="method-name">parse</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-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>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure/Parser.src/M000165.html b/doc/classes/JSON/Pure/Parser.src/M000165.html
new file mode 100644
index 0000000..1d2e6cb
--- /dev/null
+++ b/doc/classes/JSON/Pure/Parser.src/M000165.html
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>new (JSON::Pure::Parser)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/pure/parser.rb, line 68</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">source</span>, <span class="ruby-identifier">opts</span> = {})
+ <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">defined?</span>(<span class="ruby-operator">::</span><span class="ruby-constant">Encoding</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">source</span>.<span class="ruby-identifier">encoding</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Encoding</span><span class="ruby-operator">::</span><span class="ruby-constant">ASCII_8BIT</span>
+ <span class="ruby-identifier">b</span> = <span class="ruby-identifier">source</span>[<span class="ruby-value">0</span>, <span class="ruby-value">4</span>].<span class="ruby-identifier">bytes</span>.<span class="ruby-identifier">to_a</span>
+ <span class="ruby-identifier">source</span> = <span class="ruby-keyword kw">case</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">4</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">b</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">b</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">b</span>[<span class="ruby-value">2</span>] <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
+ <span class="ruby-identifier">source</span>.<span class="ruby-identifier">dup</span>.<span class="ruby-identifier">force_encoding</span>(<span class="ruby-constant">Encoding</span><span class="ruby-operator">::</span><span class="ruby-constant">UTF_32BE</span>).<span class="ruby-identifier">encode!</span>(<span class="ruby-constant">Encoding</span><span class="ruby-operator">::</span><span class="ruby-constant">UTF_8</span>)
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">4</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">b</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">b</span>[<span class="ruby-value">2</span>] <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
+ <span class="ruby-identifier">source</span>.<span class="ruby-identifier">dup</span>.<span class="ruby-identifier">force_encoding</span>(<span class="ruby-constant">Encoding</span><span class="ruby-operator">::</span><span class="ruby-constant">UTF_16BE</span>).<span class="ruby-identifier">encode!</span>(<span class="ruby-constant">Encoding</span><span class="ruby-operator">::</span><span class="ruby-constant">UTF_8</span>)
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">4</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">b</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">b</span>[<span class="ruby-value">2</span>] <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">b</span>[<span class="ruby-value">3</span>] <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
+ <span class="ruby-identifier">source</span>.<span class="ruby-identifier">dup</span>.<span class="ruby-identifier">force_encoding</span>(<span class="ruby-constant">Encoding</span><span class="ruby-operator">::</span><span class="ruby-constant">UTF_32LE</span>).<span class="ruby-identifier">encode!</span>(<span class="ruby-constant">Encoding</span><span class="ruby-operator">::</span><span class="ruby-constant">UTF_8</span>)
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">4</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">b</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">b</span>[<span class="ruby-value">3</span>] <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
+ <span class="ruby-identifier">source</span>.<span class="ruby-identifier">dup</span>.<span class="ruby-identifier">force_encoding</span>(<span class="ruby-constant">Encoding</span><span class="ruby-operator">::</span><span class="ruby-constant">UTF_16LE</span>).<span class="ruby-identifier">encode!</span>(<span class="ruby-constant">Encoding</span><span class="ruby-operator">::</span><span class="ruby-constant">UTF_8</span>)
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">source</span>.<span class="ruby-identifier">dup</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">source</span> = <span class="ruby-identifier">source</span>.<span class="ruby-identifier">encode</span>(<span class="ruby-constant">Encoding</span><span class="ruby-operator">::</span><span class="ruby-constant">UTF_8</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">source</span>.<span class="ruby-identifier">force_encoding</span>(<span class="ruby-constant">Encoding</span><span class="ruby-operator">::</span><span class="ruby-constant">ASCII_8BIT</span>)
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">b</span> = <span class="ruby-identifier">source</span>
+ <span class="ruby-identifier">source</span> = <span class="ruby-keyword kw">case</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">4</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">b</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">b</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">b</span>[<span class="ruby-value">2</span>] <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">iconv</span>(<span class="ruby-value str">'utf-8'</span>, <span class="ruby-value str">'utf-32be'</span>, <span class="ruby-identifier">b</span>)
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">4</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">b</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">b</span>[<span class="ruby-value">2</span>] <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">iconv</span>(<span class="ruby-value str">'utf-8'</span>, <span class="ruby-value str">'utf-16be'</span>, <span class="ruby-identifier">b</span>)
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">4</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">b</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">b</span>[<span class="ruby-value">2</span>] <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">b</span>[<span class="ruby-value">3</span>] <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">iconv</span>(<span class="ruby-value str">'utf-8'</span>, <span class="ruby-value str">'utf-32le'</span>, <span class="ruby-identifier">b</span>)
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">4</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">b</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">b</span>[<span class="ruby-value">3</span>] <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">iconv</span>(<span class="ruby-value str">'utf-8'</span>, <span class="ruby-value str">'utf-16le'</span>, <span class="ruby-identifier">b</span>)
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">b</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">super</span> <span class="ruby-identifier">source</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">opts</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">:max_nesting</span>) <span class="ruby-comment cmt"># defaults to 19</span>
+ <span class="ruby-ivar">@max_nesting</span> = <span class="ruby-value">19</span>
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:max_nesting</span>]
+ <span class="ruby-ivar">@max_nesting</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:max_nesting</span>]
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-ivar">@max_nesting</span> = <span class="ruby-value">0</span>
+ <span class="ruby-keyword kw">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-identifier">:allow_nan</span>]
+ <span class="ruby-identifier">ca</span> = <span class="ruby-keyword kw">true</span>
+ <span class="ruby-identifier">ca</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:create_additions</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">:create_additions</span>)
+ <span class="ruby-ivar">@create_id</span> = <span class="ruby-identifier">ca</span> <span class="ruby-value">? </span><span class="ruby-constant">JSON</span>.<span class="ruby-identifier">create_id</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
+ <span class="ruby-ivar">@object_class</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">: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-identifier">:array_class</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">Array</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSON/Pure/Parser.src/M000166.html b/doc/classes/JSON/Pure/Parser.src/M000166.html
new file mode 100644
index 0000000..6154502
--- /dev/null
+++ b/doc/classes/JSON/Pure/Parser.src/M000166.html
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>parse (JSON::Pure::Parser)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/pure/parser.rb, line 123</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse</span>
+ <span class="ruby-identifier">reset</span>
+ <span class="ruby-identifier">obj</span> = <span class="ruby-keyword kw">nil</span>
+ <span class="ruby-keyword kw">until</span> <span class="ruby-identifier">eos?</span>
+ <span class="ruby-keyword kw">case</span>
+ <span class="ruby-keyword kw">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 kw">and</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">ParserError</span>, <span class="ruby-node">&quot;source '#{peek(20)}' not in JSON!&quot;</span>
+ <span class="ruby-ivar">@current_nesting</span> = <span class="ruby-value">1</span>
+ <span class="ruby-identifier">obj</span> = <span class="ruby-identifier">parse_object</span>
+ <span class="ruby-keyword kw">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 kw">and</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">ParserError</span>, <span class="ruby-node">&quot;source '#{peek(20)}' not in JSON!&quot;</span>
+ <span class="ruby-ivar">@current_nesting</span> = <span class="ruby-value">1</span>
+ <span class="ruby-identifier">obj</span> = <span class="ruby-identifier">parse_array</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">skip</span>(<span class="ruby-constant">IGNORE</span>)
+ ;
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ParserError</span>, <span class="ruby-node">&quot;source '#{peek(20)}' not in JSON!&quot;</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">obj</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">ParserError</span>, <span class="ruby-value str">&quot;source did not contain any JSON!&quot;</span>
+ <span class="ruby-identifier">obj</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSONTreeView.html b/doc/classes/JSONTreeView.html
new file mode 100644
index 0000000..9f01bbf
--- /dev/null
+++ b/doc/classes/JSONTreeView.html
@@ -0,0 +1,298 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: JSONTreeView</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">JSONTreeView</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../files/lib/json/editor_rb.html">
+ lib/json/editor.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ Gtk::TreeView
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="description">
+ <p>
+This class inherits from Gtk::TreeView, to configure it and to add a lot of
+behaviour to it.
+</p>
+
+ </div>
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000038">ask_for_element</a>&nbsp;&nbsp;
+ <a href="#M000040">ask_for_find_term</a>&nbsp;&nbsp;
+ <a href="#M000037">ask_for_hash_pair</a>&nbsp;&nbsp;
+ <a href="#M000039">ask_for_order</a>&nbsp;&nbsp;
+ <a href="#M000036">create_node</a>&nbsp;&nbsp;
+ <a href="#M000041">expand_collapse</a>&nbsp;&nbsp;
+ <a href="#M000035">new</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+ <div id="includes">
+ <h3 class="section-bar">Included Modules</h3>
+
+ <div id="includes-list">
+ <span class="include-name"><a href="Gtk.html">Gtk</a></span>
+ </div>
+ </div>
+
+ <div id="section">
+
+
+
+
+
+ <div id="attribute-list">
+ <h3 class="section-bar">Attributes</h3>
+
+ <div class="name-list">
+ <table>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">expanded</td>
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
+ <td class="context-item-desc">
+Returns true, if nodes are autoexpanding, false otherwise.
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">window</td>
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+ <td class="context-item-desc">
+Returns the <a href="MainWindow.html">MainWindow</a> instance of this <a
+href="JSONTreeView.html">JSONTreeView</a>.
+
+</td>
+ </tr>
+ </table>
+ </div>
+ </div>
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Class methods</h3>
+
+ <div id="method-M000035" class="method-detail">
+ <a name="M000035"></a>
+
+ <div class="method-heading">
+ <a href="JSONTreeView.src/M000035.html" target="Code" class="method-signature"
+ onclick="popupCode('JSONTreeView.src/M000035.html');return false;">
+ <span class="method-name">new</span><span class="method-args">(window)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Creates a <a href="JSONTreeView.html">JSONTreeView</a> instance, the
+parameter <em>window</em> is a <a href="MainWindow.html">MainWindow</a>
+instance and used for self delegation.
+</p>
+ </div>
+ </div>
+
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000038" class="method-detail">
+ <a name="M000038"></a>
+
+ <div class="method-heading">
+ <a href="JSONTreeView.src/M000038.html" target="Code" class="method-signature"
+ onclick="popupCode('JSONTreeView.src/M000038.html');return false;">
+ <span class="method-name">ask_for_element</span><span class="method-args">(parent = nil, default_type = nil, value_text = @content)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Ask for an element to be appended <em>parent</em>.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000040" class="method-detail">
+ <a name="M000040"></a>
+
+ <div class="method-heading">
+ <a href="JSONTreeView.src/M000040.html" target="Code" class="method-signature"
+ onclick="popupCode('JSONTreeView.src/M000040.html');return false;">
+ <span class="method-name">ask_for_find_term</span><span class="method-args">(search = nil)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Ask for a find term to search for in the tree. Returns the term as a
+string.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000037" class="method-detail">
+ <a name="M000037"></a>
+
+ <div class="method-heading">
+ <a href="JSONTreeView.src/M000037.html" target="Code" class="method-signature"
+ onclick="popupCode('JSONTreeView.src/M000037.html');return false;">
+ <span class="method-name">ask_for_hash_pair</span><span class="method-args">(parent)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Ask for a hash key, value pair to be added to the Hash node
+<em>parent</em>.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000039" class="method-detail">
+ <a name="M000039"></a>
+
+ <div class="method-heading">
+ <a href="JSONTreeView.src/M000039.html" target="Code" class="method-signature"
+ onclick="popupCode('JSONTreeView.src/M000039.html');return false;">
+ <span class="method-name">ask_for_order</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Ask for an order criteria for sorting, using <em>x</em> for the element in
+question. Returns the order criterium, and true/false for reverse sorting.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000036" class="method-detail">
+ <a name="M000036"></a>
+
+ <div class="method-heading">
+ <a href="JSONTreeView.src/M000036.html" target="Code" class="method-signature"
+ onclick="popupCode('JSONTreeView.src/M000036.html');return false;">
+ <span class="method-name">create_node</span><span class="method-args">(parent, type, content)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Create a <em>type</em> node with content <em>content</em>, and add it to
+<em>parent</em> in the model. If <em>parent</em> is nil, create a <a
+href="JSONTreeView.html#M000035">new</a> model and put it into the editor
+treeview.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000041" class="method-detail">
+ <a name="M000041"></a>
+
+ <div class="method-heading">
+ <a href="JSONTreeView.src/M000041.html" target="Code" class="method-signature"
+ onclick="popupCode('JSONTreeView.src/M000041.html');return false;">
+ <span class="method-name">expand_collapse</span><span class="method-args">(iter)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Expand or collapse row pointed to by <em>iter</em> according to the
+expanded attribute.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSONTreeView.src/M000035.html b/doc/classes/JSONTreeView.src/M000035.html
new file mode 100644
index 0000000..a923eb6
--- /dev/null
+++ b/doc/classes/JSONTreeView.src/M000035.html
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>new (JSONTreeView)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 701</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">window</span>)
+ <span class="ruby-ivar">@window</span> = <span class="ruby-identifier">window</span>
+ <span class="ruby-keyword kw">super</span>(<span class="ruby-constant">TreeStore</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">Gdk</span><span class="ruby-operator">::</span><span class="ruby-constant">Pixbuf</span>, <span class="ruby-constant">String</span>, <span class="ruby-constant">String</span>))
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">selection</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-constant">SELECTION_BROWSE</span>
+
+ <span class="ruby-ivar">@expanded</span> = <span class="ruby-keyword kw">false</span>
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">headers_visible</span> = <span class="ruby-keyword kw">false</span>
+ <span class="ruby-identifier">add_columns</span>
+ <span class="ruby-identifier">add_popup_menu</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSONTreeView.src/M000036.html b/doc/classes/JSONTreeView.src/M000036.html
new file mode 100644
index 0000000..c3e49fa
--- /dev/null
+++ b/doc/classes/JSONTreeView.src/M000036.html
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>create_node (JSONTreeView)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 817</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create_node</span>(<span class="ruby-identifier">parent</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">content</span>)
+ <span class="ruby-identifier">iter</span> = <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>
+ <span class="ruby-identifier">model</span>.<span class="ruby-identifier">append</span>(<span class="ruby-identifier">parent</span>)
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">new_model</span> = <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">data2model</span>(<span class="ruby-keyword kw">nil</span>)
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">view_new_model</span>(<span class="ruby-identifier">new_model</span>)
+ <span class="ruby-identifier">new_model</span>.<span class="ruby-identifier">iter_first</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">iter</span>.<span class="ruby-identifier">type</span>, <span class="ruby-identifier">iter</span>.<span class="ruby-identifier">content</span> = <span class="ruby-identifier">type</span>, <span class="ruby-identifier">content</span>
+ <span class="ruby-identifier">expand_collapse</span>(<span class="ruby-identifier">parent</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>
+ <span class="ruby-identifier">iter</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSONTreeView.src/M000037.html b/doc/classes/JSONTreeView.src/M000037.html
new file mode 100644
index 0000000..ec1860e
--- /dev/null
+++ b/doc/classes/JSONTreeView.src/M000037.html
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>ask_for_hash_pair (JSONTreeView)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 831</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ask_for_hash_pair</span>(<span class="ruby-identifier">parent</span>)
+ <span class="ruby-identifier">key_input</span> = <span class="ruby-identifier">type_input</span> = <span class="ruby-identifier">value_input</span> = <span class="ruby-keyword kw">nil</span>
+
+ <span class="ruby-identifier">dialog</span> = <span class="ruby-constant">Dialog</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;New (key, value) pair for Hash&quot;</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span>,
+ [ <span class="ruby-constant">Stock</span><span class="ruby-operator">::</span><span class="ruby-constant">OK</span>, <span class="ruby-constant">Dialog</span><span class="ruby-operator">::</span><span class="ruby-constant">RESPONSE_ACCEPT</span> ],
+ [ <span class="ruby-constant">Stock</span><span class="ruby-operator">::</span><span class="ruby-constant">CANCEL</span>, <span class="ruby-constant">Dialog</span><span class="ruby-operator">::</span><span class="ruby-constant">RESPONSE_REJECT</span> ]
+ )
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">width_request</span> = <span class="ruby-value">640</span>
+
+ <span class="ruby-identifier">hbox</span> = <span class="ruby-constant">HBox</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">false</span>, <span class="ruby-value">5</span>)
+ <span class="ruby-identifier">hbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-constant">Label</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;Key:&quot;</span>), <span class="ruby-keyword kw">false</span>)
+ <span class="ruby-identifier">hbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">key_input</span> = <span class="ruby-constant">Entry</span>.<span class="ruby-identifier">new</span>)
+ <span class="ruby-identifier">key_input</span>.<span class="ruby-identifier">text</span> = <span class="ruby-ivar">@key</span> <span class="ruby-operator">||</span> <span class="ruby-value str">''</span>
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">vbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">hbox</span>, <span class="ruby-keyword kw">false</span>)
+ <span class="ruby-identifier">key_input</span>.<span class="ruby-identifier">signal_connect</span>(<span class="ruby-identifier">:activate</span>) <span class="ruby-keyword kw">do</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">content</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">key_input</span>.<span class="ruby-identifier">text</span> }
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-value str">'Key already exists in Hash!'</span>)
+ <span class="ruby-identifier">key_input</span>.<span class="ruby-identifier">text</span> = <span class="ruby-value str">''</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-value str">'Key has been changed.'</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+
+ <span class="ruby-identifier">hbox</span> = <span class="ruby-constant">HBox</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">false</span>, <span class="ruby-value">5</span>)
+ <span class="ruby-identifier">hbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-constant">Label</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;Type:&quot;</span>), <span class="ruby-keyword kw">false</span>)
+ <span class="ruby-identifier">hbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">type_input</span> = <span class="ruby-constant">ComboBox</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">true</span>))
+ <span class="ruby-constant">ALL_TYPES</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">type_input</span>.<span class="ruby-identifier">append_text</span>(<span class="ruby-identifier">t</span>) }
+ <span class="ruby-identifier">type_input</span>.<span class="ruby-identifier">active</span> = <span class="ruby-ivar">@type</span> <span class="ruby-operator">||</span> <span class="ruby-value">0</span>
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">vbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">hbox</span>, <span class="ruby-keyword kw">false</span>)
+
+ <span class="ruby-identifier">type_input</span>.<span class="ruby-identifier">signal_connect</span>(<span class="ruby-identifier">:changed</span>) <span class="ruby-keyword kw">do</span>
+ <span class="ruby-identifier">value_input</span>.<span class="ruby-identifier">editable</span> = <span class="ruby-keyword kw">false</span>
+ <span class="ruby-keyword kw">case</span> <span class="ruby-constant">ALL_TYPES</span>[<span class="ruby-identifier">type_input</span>.<span class="ruby-identifier">active</span>]
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'Array'</span>, <span class="ruby-value str">'Hash'</span>
+ <span class="ruby-identifier">value_input</span>.<span class="ruby-identifier">text</span> = <span class="ruby-value str">''</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'TrueClass'</span>
+ <span class="ruby-identifier">value_input</span>.<span class="ruby-identifier">text</span> = <span class="ruby-value str">'true'</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'FalseClass'</span>
+ <span class="ruby-identifier">value_input</span>.<span class="ruby-identifier">text</span> = <span class="ruby-value str">'false'</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'NilClass'</span>
+ <span class="ruby-identifier">value_input</span>.<span class="ruby-identifier">text</span> = <span class="ruby-value str">'null'</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">value_input</span>.<span class="ruby-identifier">text</span> = <span class="ruby-value str">''</span>
+ <span class="ruby-identifier">value_input</span>.<span class="ruby-identifier">editable</span> = <span class="ruby-keyword kw">true</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+
+ <span class="ruby-identifier">hbox</span> = <span class="ruby-constant">HBox</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">false</span>, <span class="ruby-value">5</span>)
+ <span class="ruby-identifier">hbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-constant">Label</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;Value:&quot;</span>), <span class="ruby-keyword kw">false</span>)
+ <span class="ruby-identifier">hbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">value_input</span> = <span class="ruby-constant">Entry</span>.<span class="ruby-identifier">new</span>)
+ <span class="ruby-identifier">value_input</span>.<span class="ruby-identifier">width_chars</span> = <span class="ruby-value">60</span>
+ <span class="ruby-identifier">value_input</span>.<span class="ruby-identifier">text</span> = <span class="ruby-ivar">@value</span> <span class="ruby-operator">||</span> <span class="ruby-value str">''</span>
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">vbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">hbox</span>, <span class="ruby-keyword kw">false</span>)
+
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">signal_connect</span>(<span class="ruby-value str">'key-press-event'</span><span class="ruby-value str">'key-press-event'</span>, <span class="ruby-operator">&amp;</span><span class="ruby-constant">DEFAULT_DIALOG_KEY_PRESS_HANDLER</span>)
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">show_all</span>
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">focus</span> = <span class="ruby-identifier">dialog</span>
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">run</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">response</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">response</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Dialog</span><span class="ruby-operator">::</span><span class="ruby-constant">RESPONSE_ACCEPT</span>
+ <span class="ruby-ivar">@key</span> = <span class="ruby-identifier">key_input</span>.<span class="ruby-identifier">text</span>
+ <span class="ruby-identifier">type</span> = <span class="ruby-constant">ALL_TYPES</span>[<span class="ruby-ivar">@type</span> = <span class="ruby-identifier">type_input</span>.<span class="ruby-identifier">active</span>]
+ <span class="ruby-identifier">content</span> = <span class="ruby-identifier">value_input</span>.<span class="ruby-identifier">text</span>
+ <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@key</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">content</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">return</span>
+ <span class="ruby-keyword kw">ensure</span>
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">destroy</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSONTreeView.src/M000038.html b/doc/classes/JSONTreeView.src/M000038.html
new file mode 100644
index 0000000..5f521dc
--- /dev/null
+++ b/doc/classes/JSONTreeView.src/M000038.html
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>ask_for_element (JSONTreeView)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 902</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ask_for_element</span>(<span class="ruby-identifier">parent</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">default_type</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">value_text</span> = <span class="ruby-ivar">@content</span>)
+ <span class="ruby-identifier">type_input</span> = <span class="ruby-identifier">value_input</span> = <span class="ruby-keyword kw">nil</span>
+
+ <span class="ruby-identifier">dialog</span> = <span class="ruby-constant">Dialog</span>.<span class="ruby-identifier">new</span>(
+ <span class="ruby-node">&quot;New element into #{parent ? parent.type : 'root'}&quot;</span>,
+ <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span>,
+ [ <span class="ruby-constant">Stock</span><span class="ruby-operator">::</span><span class="ruby-constant">OK</span>, <span class="ruby-constant">Dialog</span><span class="ruby-operator">::</span><span class="ruby-constant">RESPONSE_ACCEPT</span> ],
+ [ <span class="ruby-constant">Stock</span><span class="ruby-operator">::</span><span class="ruby-constant">CANCEL</span>, <span class="ruby-constant">Dialog</span><span class="ruby-operator">::</span><span class="ruby-constant">RESPONSE_REJECT</span> ]
+ )
+ <span class="ruby-identifier">hbox</span> = <span class="ruby-constant">HBox</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">false</span>, <span class="ruby-value">5</span>)
+ <span class="ruby-identifier">hbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-constant">Label</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;Type:&quot;</span>), <span class="ruby-keyword kw">false</span>)
+ <span class="ruby-identifier">hbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">type_input</span> = <span class="ruby-constant">ComboBox</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">true</span>))
+ <span class="ruby-identifier">default_active</span> = <span class="ruby-value">0</span>
+ <span class="ruby-identifier">types</span> = <span class="ruby-identifier">parent</span> <span class="ruby-value">? </span><span class="ruby-constant">ALL_TYPES</span> <span class="ruby-operator">:</span> <span class="ruby-constant">CONTAINER_TYPES</span>
+ <span class="ruby-identifier">types</span>.<span class="ruby-identifier">each_with_index</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">t</span>, <span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">type_input</span>.<span class="ruby-identifier">append_text</span>(<span class="ruby-identifier">t</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">t</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">default_type</span>
+ <span class="ruby-identifier">default_active</span> = <span class="ruby-identifier">i</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">type_input</span>.<span class="ruby-identifier">active</span> = <span class="ruby-identifier">default_active</span>
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">vbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">hbox</span>, <span class="ruby-keyword kw">false</span>)
+ <span class="ruby-identifier">type_input</span>.<span class="ruby-identifier">signal_connect</span>(<span class="ruby-identifier">:changed</span>) <span class="ruby-keyword kw">do</span>
+ <span class="ruby-identifier">configure_value</span>(<span class="ruby-identifier">value_input</span>, <span class="ruby-identifier">types</span>[<span class="ruby-identifier">type_input</span>.<span class="ruby-identifier">active</span>])
+ <span class="ruby-keyword kw">end</span>
+
+ <span class="ruby-identifier">hbox</span> = <span class="ruby-constant">HBox</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">false</span>, <span class="ruby-value">5</span>)
+ <span class="ruby-identifier">hbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-constant">Label</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;Value:&quot;</span>), <span class="ruby-keyword kw">false</span>)
+ <span class="ruby-identifier">hbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">value_input</span> = <span class="ruby-constant">Entry</span>.<span class="ruby-identifier">new</span>)
+ <span class="ruby-identifier">value_input</span>.<span class="ruby-identifier">width_chars</span> = <span class="ruby-value">60</span>
+ <span class="ruby-identifier">value_input</span>.<span class="ruby-identifier">text</span> = <span class="ruby-identifier">value_text</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">value_text</span>
+ <span class="ruby-identifier">configure_value</span>(<span class="ruby-identifier">value_input</span>, <span class="ruby-identifier">types</span>[<span class="ruby-identifier">type_input</span>.<span class="ruby-identifier">active</span>])
+
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">vbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">hbox</span>, <span class="ruby-keyword kw">false</span>)
+
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">signal_connect</span>(<span class="ruby-value str">'key-press-event'</span><span class="ruby-value str">'key-press-event'</span>, <span class="ruby-operator">&amp;</span><span class="ruby-constant">DEFAULT_DIALOG_KEY_PRESS_HANDLER</span>)
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">show_all</span>
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">focus</span> = <span class="ruby-identifier">dialog</span>
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">run</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">response</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">response</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Dialog</span><span class="ruby-operator">::</span><span class="ruby-constant">RESPONSE_ACCEPT</span>
+ <span class="ruby-identifier">type</span> = <span class="ruby-identifier">types</span>[<span class="ruby-identifier">type_input</span>.<span class="ruby-identifier">active</span>]
+ <span class="ruby-ivar">@content</span> = <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">type</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'Numeric'</span>
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">t</span> = <span class="ruby-identifier">value_input</span>.<span class="ruby-identifier">text</span>) <span class="ruby-operator">==</span> <span class="ruby-value str">'Infinity'</span>
+ <span class="ruby-value">1</span> <span class="ruby-operator">/</span> <span class="ruby-value">0</span><span class="ruby-value">.0</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-constant">Integer</span>(<span class="ruby-identifier">t</span>) <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Float</span>(<span class="ruby-identifier">t</span>) <span class="ruby-keyword kw">rescue</span> <span class="ruby-value">0</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">value_input</span>.<span class="ruby-identifier">text</span>
+ <span class="ruby-keyword kw">end</span>.<span class="ruby-identifier">to_s</span>
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">type</span>, <span class="ruby-ivar">@content</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">return</span>
+ <span class="ruby-keyword kw">ensure</span>
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">destroy</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dialog</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSONTreeView.src/M000039.html b/doc/classes/JSONTreeView.src/M000039.html
new file mode 100644
index 0000000..87475d5
--- /dev/null
+++ b/doc/classes/JSONTreeView.src/M000039.html
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>ask_for_order (JSONTreeView)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 964</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ask_for_order</span>
+ <span class="ruby-identifier">dialog</span> = <span class="ruby-constant">Dialog</span>.<span class="ruby-identifier">new</span>(
+ <span class="ruby-value str">&quot;Give an order criterium for 'x'.&quot;</span>,
+ <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span>,
+ [ <span class="ruby-constant">Stock</span><span class="ruby-operator">::</span><span class="ruby-constant">OK</span>, <span class="ruby-constant">Dialog</span><span class="ruby-operator">::</span><span class="ruby-constant">RESPONSE_ACCEPT</span> ],
+ [ <span class="ruby-constant">Stock</span><span class="ruby-operator">::</span><span class="ruby-constant">CANCEL</span>, <span class="ruby-constant">Dialog</span><span class="ruby-operator">::</span><span class="ruby-constant">RESPONSE_REJECT</span> ]
+ )
+ <span class="ruby-identifier">hbox</span> = <span class="ruby-constant">HBox</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">false</span>, <span class="ruby-value">5</span>)
+
+ <span class="ruby-identifier">hbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-constant">Label</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;Order:&quot;</span>), <span class="ruby-keyword kw">false</span>)
+ <span class="ruby-identifier">hbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">order_input</span> = <span class="ruby-constant">Entry</span>.<span class="ruby-identifier">new</span>)
+ <span class="ruby-identifier">order_input</span>.<span class="ruby-identifier">text</span> = <span class="ruby-ivar">@order</span> <span class="ruby-operator">||</span> <span class="ruby-value str">'x'</span>
+ <span class="ruby-identifier">order_input</span>.<span class="ruby-identifier">width_chars</span> = <span class="ruby-value">60</span>
+
+ <span class="ruby-identifier">hbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">reverse_checkbox</span> = <span class="ruby-constant">CheckButton</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Reverse'</span>), <span class="ruby-keyword kw">false</span>)
+
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">vbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">hbox</span>, <span class="ruby-keyword kw">false</span>)
+
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">signal_connect</span>(<span class="ruby-value str">'key-press-event'</span><span class="ruby-value str">'key-press-event'</span>, <span class="ruby-operator">&amp;</span><span class="ruby-constant">DEFAULT_DIALOG_KEY_PRESS_HANDLER</span>)
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">show_all</span>
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">focus</span> = <span class="ruby-identifier">dialog</span>
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">run</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">response</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">response</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Dialog</span><span class="ruby-operator">::</span><span class="ruby-constant">RESPONSE_ACCEPT</span>
+ <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@order</span> = <span class="ruby-identifier">order_input</span>.<span class="ruby-identifier">text</span>, <span class="ruby-identifier">reverse_checkbox</span>.<span class="ruby-identifier">active?</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">return</span>
+ <span class="ruby-keyword kw">ensure</span>
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">destroy</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dialog</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSONTreeView.src/M000040.html b/doc/classes/JSONTreeView.src/M000040.html
new file mode 100644
index 0000000..f461e2e
--- /dev/null
+++ b/doc/classes/JSONTreeView.src/M000040.html
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>ask_for_find_term (JSONTreeView)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 997</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ask_for_find_term</span>(<span class="ruby-identifier">search</span> = <span class="ruby-keyword kw">nil</span>)
+ <span class="ruby-identifier">dialog</span> = <span class="ruby-constant">Dialog</span>.<span class="ruby-identifier">new</span>(
+ <span class="ruby-value str">&quot;Find a node matching regex in tree.&quot;</span>,
+ <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span>,
+ [ <span class="ruby-constant">Stock</span><span class="ruby-operator">::</span><span class="ruby-constant">OK</span>, <span class="ruby-constant">Dialog</span><span class="ruby-operator">::</span><span class="ruby-constant">RESPONSE_ACCEPT</span> ],
+ [ <span class="ruby-constant">Stock</span><span class="ruby-operator">::</span><span class="ruby-constant">CANCEL</span>, <span class="ruby-constant">Dialog</span><span class="ruby-operator">::</span><span class="ruby-constant">RESPONSE_REJECT</span> ]
+ )
+ <span class="ruby-identifier">hbox</span> = <span class="ruby-constant">HBox</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">false</span>, <span class="ruby-value">5</span>)
+
+ <span class="ruby-identifier">hbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-constant">Label</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;Regex:&quot;</span>), <span class="ruby-keyword kw">false</span>)
+ <span class="ruby-identifier">hbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">regex_input</span> = <span class="ruby-constant">Entry</span>.<span class="ruby-identifier">new</span>)
+ <span class="ruby-identifier">hbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">icase_checkbox</span> = <span class="ruby-constant">CheckButton</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Icase'</span>), <span class="ruby-keyword kw">false</span>)
+ <span class="ruby-identifier">regex_input</span>.<span class="ruby-identifier">width_chars</span> = <span class="ruby-value">60</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">search</span>
+ <span class="ruby-identifier">regex_input</span>.<span class="ruby-identifier">text</span> = <span class="ruby-identifier">search</span>.<span class="ruby-identifier">source</span>
+ <span class="ruby-identifier">icase_checkbox</span>.<span class="ruby-identifier">active</span> = <span class="ruby-identifier">search</span>.<span class="ruby-identifier">casefold?</span>
+ <span class="ruby-keyword kw">end</span>
+
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">vbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">hbox</span>, <span class="ruby-keyword kw">false</span>)
+
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">signal_connect</span>(<span class="ruby-value str">'key-press-event'</span><span class="ruby-value str">'key-press-event'</span>, <span class="ruby-operator">&amp;</span><span class="ruby-constant">DEFAULT_DIALOG_KEY_PRESS_HANDLER</span>)
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">show_all</span>
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">focus</span> = <span class="ruby-identifier">dialog</span>
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">run</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">response</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">response</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Dialog</span><span class="ruby-operator">::</span><span class="ruby-constant">RESPONSE_ACCEPT</span>
+ <span class="ruby-keyword kw">begin</span>
+ <span class="ruby-keyword kw">return</span> <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">regex_input</span>.<span class="ruby-identifier">text</span>, <span class="ruby-identifier">icase_checkbox</span>.<span class="ruby-identifier">active?</span> <span class="ruby-value">? </span><span class="ruby-constant">Regexp</span><span class="ruby-operator">::</span><span class="ruby-constant">IGNORECASE</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>)
+ <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
+ <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">error_dialog</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-node">&quot;Evaluation of regex /#{regex_input.text}/ failed: #{e}!&quot;</span>)
+ <span class="ruby-keyword kw">return</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">return</span>
+ <span class="ruby-keyword kw">ensure</span>
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">destroy</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dialog</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/JSONTreeView.src/M000041.html b/doc/classes/JSONTreeView.src/M000041.html
new file mode 100644
index 0000000..c9dc8ec
--- /dev/null
+++ b/doc/classes/JSONTreeView.src/M000041.html
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>expand_collapse (JSONTreeView)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 1037</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">expand_collapse</span>(<span class="ruby-identifier">iter</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">expanded</span>
+ <span class="ruby-identifier">expand_row</span>(<span class="ruby-identifier">iter</span>.<span class="ruby-identifier">path</span>, <span class="ruby-keyword kw">true</span>)
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">collapse_row</span>(<span class="ruby-identifier">iter</span>.<span class="ruby-identifier">path</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MainWindow.html b/doc/classes/MainWindow.html
new file mode 100644
index 0000000..14f5329
--- /dev/null
+++ b/doc/classes/MainWindow.html
@@ -0,0 +1,524 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: MainWindow</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">MainWindow</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../files/lib/json/editor_rb.html">
+ lib/json/editor.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ Gtk::Window
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="description">
+ <p>
+The editor main window
+</p>
+
+ </div>
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000034">ask_for_location</a>&nbsp;&nbsp;
+ <a href="#M000020">ask_save</a>&nbsp;&nbsp;
+ <a href="#M000016">change</a>&nbsp;&nbsp;
+ <a href="#M000023">clear</a>&nbsp;&nbsp;
+ <a href="#M000015">create_menu_bar</a>&nbsp;&nbsp;
+ <a href="#M000019">display_status</a>&nbsp;&nbsp;
+ <a href="#M000022">display_title</a>&nbsp;&nbsp;
+ <a href="#M000026">edit</a>&nbsp;&nbsp;
+ <a href="#M000025">file_open</a>&nbsp;&nbsp;
+ <a href="#M000027">file_save</a>&nbsp;&nbsp;
+ <a href="#M000028">file_save_as</a>&nbsp;&nbsp;
+ <a href="#M000030">load_file</a>&nbsp;&nbsp;
+ <a href="#M000031">load_location</a>&nbsp;&nbsp;
+ <a href="#M000024">location_open</a>&nbsp;&nbsp;
+ <a href="#M000014">new</a>&nbsp;&nbsp;
+ <a href="#M000021">quit</a>&nbsp;&nbsp;
+ <a href="#M000032">read_data</a>&nbsp;&nbsp;
+ <a href="#M000033">select_file</a>&nbsp;&nbsp;
+ <a href="#M000029">store_file</a>&nbsp;&nbsp;
+ <a href="#M000017">unchange</a>&nbsp;&nbsp;
+ <a href="#M000018">view_new_model</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+ <div id="includes">
+ <h3 class="section-bar">Included Modules</h3>
+
+ <div id="includes-list">
+ <span class="include-name"><a href="Gtk.html">Gtk</a></span>
+ </div>
+ </div>
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Class methods</h3>
+
+ <div id="method-M000014" class="method-detail">
+ <a name="M000014"></a>
+
+ <div class="method-heading">
+ <a href="MainWindow.src/M000014.html" target="Code" class="method-signature"
+ onclick="popupCode('MainWindow.src/M000014.html');return false;">
+ <span class="method-name">new</span><span class="method-args">(encoding)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000034" class="method-detail">
+ <a name="M000034"></a>
+
+ <div class="method-heading">
+ <a href="MainWindow.src/M000034.html" target="Code" class="method-signature"
+ onclick="popupCode('MainWindow.src/M000034.html');return false;">
+ <span class="method-name">ask_for_location</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Ask for location URI a to load data from. Returns the URI as a string.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000020" class="method-detail">
+ <a name="M000020"></a>
+
+ <div class="method-heading">
+ <a href="MainWindow.src/M000020.html" target="Code" class="method-signature"
+ onclick="popupCode('MainWindow.src/M000020.html');return false;">
+ <span class="method-name">ask_save</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Opens a dialog, asking, if changes should be saved to a file.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000016" class="method-detail">
+ <a name="M000016"></a>
+
+ <div class="method-heading">
+ <a href="MainWindow.src/M000016.html" target="Code" class="method-signature"
+ onclick="popupCode('MainWindow.src/M000016.html');return false;">
+ <span class="method-name">change</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Sets editor status to changed, to indicate that the edited data containts
+unsaved changes.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000023" class="method-detail">
+ <a name="M000023"></a>
+
+ <div class="method-heading">
+ <a href="MainWindow.src/M000023.html" target="Code" class="method-signature"
+ onclick="popupCode('MainWindow.src/M000023.html');return false;">
+ <span class="method-name">clear</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Clear the current model, after asking to save all unsaved changes.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000015" class="method-detail">
+ <a name="M000015"></a>
+
+ <div class="method-heading">
+ <a href="MainWindow.src/M000015.html" target="Code" class="method-signature"
+ onclick="popupCode('MainWindow.src/M000015.html');return false;">
+ <span class="method-name">create_menu_bar</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Creates the menu bar with the pulldown menus and returns it.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000019" class="method-detail">
+ <a name="M000019"></a>
+
+ <div class="method-heading">
+ <a href="MainWindow.src/M000019.html" target="Code" class="method-signature"
+ onclick="popupCode('MainWindow.src/M000019.html');return false;">
+ <span class="method-name">display_status</span><span class="method-args">(text)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Displays <em>text</em> in the status bar.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000022" class="method-detail">
+ <a name="M000022"></a>
+
+ <div class="method-heading">
+ <a href="MainWindow.src/M000022.html" target="Code" class="method-signature"
+ onclick="popupCode('MainWindow.src/M000022.html');return false;">
+ <span class="method-name">display_title</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Display the <a href="MainWindow.html#M000014">new</a> title according to
+the editor&#8216;s current state.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000026" class="method-detail">
+ <a name="M000026"></a>
+
+ <div class="method-heading">
+ <a href="MainWindow.src/M000026.html" target="Code" class="method-signature"
+ onclick="popupCode('MainWindow.src/M000026.html');return false;">
+ <span class="method-name">edit</span><span class="method-args">(json)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Edit the string <em>json</em> in the editor.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000025" class="method-detail">
+ <a name="M000025"></a>
+
+ <div class="method-heading">
+ <a href="MainWindow.src/M000025.html" target="Code" class="method-signature"
+ onclick="popupCode('MainWindow.src/M000025.html');return false;">
+ <span class="method-name">file_open</span><span class="method-args">(filename = nil)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Open the file <em>filename</em> or call the <a
+href="MainWindow.html#M000033">select_file</a> method to ask for a
+filename.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000027" class="method-detail">
+ <a name="M000027"></a>
+
+ <div class="method-heading">
+ <a href="MainWindow.src/M000027.html" target="Code" class="method-signature"
+ onclick="popupCode('MainWindow.src/M000027.html');return false;">
+ <span class="method-name">file_save</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Save the current file.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000028" class="method-detail">
+ <a name="M000028"></a>
+
+ <div class="method-heading">
+ <a href="MainWindow.src/M000028.html" target="Code" class="method-signature"
+ onclick="popupCode('MainWindow.src/M000028.html');return false;">
+ <span class="method-name">file_save_as</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Save the current file as the filename
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000030" class="method-detail">
+ <a name="M000030"></a>
+
+ <div class="method-heading">
+ <a href="MainWindow.src/M000030.html" target="Code" class="method-signature"
+ onclick="popupCode('MainWindow.src/M000030.html');return false;">
+ <span class="method-name">load_file</span><span class="method-args">(filename)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Load the file named <em>filename</em> into the editor as a <a
+href="JSON.html">JSON</a> document.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000031" class="method-detail">
+ <a name="M000031"></a>
+
+ <div class="method-heading">
+ <a href="MainWindow.src/M000031.html" target="Code" class="method-signature"
+ onclick="popupCode('MainWindow.src/M000031.html');return false;">
+ <span class="method-name">load_location</span><span class="method-args">(uri)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Load the data at location <em>uri</em> into the editor as a <a
+href="JSON.html">JSON</a> document.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000024" class="method-detail">
+ <a name="M000024"></a>
+
+ <div class="method-heading">
+ <a href="MainWindow.src/M000024.html" target="Code" class="method-signature"
+ onclick="popupCode('MainWindow.src/M000024.html');return false;">
+ <span class="method-name">location_open</span><span class="method-args">(uri = nil)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Open the data at the location <em>uri</em>, if given. Otherwise open a
+dialog to ask for the <em>uri</em>.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000021" class="method-detail">
+ <a name="M000021"></a>
+
+ <div class="method-heading">
+ <a href="MainWindow.src/M000021.html" target="Code" class="method-signature"
+ onclick="popupCode('MainWindow.src/M000021.html');return false;">
+ <span class="method-name">quit</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Quit this editor, that is, leave this editor&#8216;s main loop.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000032" class="method-detail">
+ <a name="M000032"></a>
+
+ <div class="method-heading">
+ <a href="MainWindow.src/M000032.html" target="Code" class="method-signature"
+ onclick="popupCode('MainWindow.src/M000032.html');return false;">
+ <span class="method-name">read_data</span><span class="method-args">(filename)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Read a <a href="JSON.html">JSON</a> document from the file named
+<em>filename</em>, parse it into a ruby data structure, and return the
+data.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000033" class="method-detail">
+ <a name="M000033"></a>
+
+ <div class="method-heading">
+ <a href="MainWindow.src/M000033.html" target="Code" class="method-signature"
+ onclick="popupCode('MainWindow.src/M000033.html');return false;">
+ <span class="method-name">select_file</span><span class="method-args">(message)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Open a file selecton dialog, displaying <em>message</em>, and return the
+selected filename or nil, if no file was selected.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000029" class="method-detail">
+ <a name="M000029"></a>
+
+ <div class="method-heading">
+ <a href="MainWindow.src/M000029.html" target="Code" class="method-signature"
+ onclick="popupCode('MainWindow.src/M000029.html');return false;">
+ <span class="method-name">store_file</span><span class="method-args">(path)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Store the current <a href="JSON.html">JSON</a> document to <em>path</em>.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000017" class="method-detail">
+ <a name="M000017"></a>
+
+ <div class="method-heading">
+ <a href="MainWindow.src/M000017.html" target="Code" class="method-signature"
+ onclick="popupCode('MainWindow.src/M000017.html');return false;">
+ <span class="method-name">unchange</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Sets editor status to unchanged, to indicate that the edited data
+doesn&#8216;t containt unsaved changes.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000018" class="method-detail">
+ <a name="M000018"></a>
+
+ <div class="method-heading">
+ <a href="MainWindow.src/M000018.html" target="Code" class="method-signature"
+ onclick="popupCode('MainWindow.src/M000018.html');return false;">
+ <span class="method-name">view_new_model</span><span class="method-args">(model)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Puts a <a href="MainWindow.html#M000014">new</a> model <em>model</em> into
+the Gtk::TreeView to be edited.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MainWindow.src/M000014.html b/doc/classes/MainWindow.src/M000014.html
new file mode 100644
index 0000000..10cda57
--- /dev/null
+++ b/doc/classes/MainWindow.src/M000014.html
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>new (MainWindow)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 1050</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">encoding</span>)
+ <span class="ruby-ivar">@changed</span> = <span class="ruby-keyword kw">false</span>
+ <span class="ruby-ivar">@encoding</span> = <span class="ruby-identifier">encoding</span>
+ <span class="ruby-keyword kw">super</span>(<span class="ruby-constant">TOPLEVEL</span>)
+ <span class="ruby-identifier">display_title</span>
+ <span class="ruby-identifier">set_default_size</span>(<span class="ruby-value">800</span>, <span class="ruby-value">600</span>)
+ <span class="ruby-identifier">signal_connect</span>(<span class="ruby-identifier">:delete_event</span>) { <span class="ruby-identifier">quit</span> }
+
+ <span class="ruby-identifier">vbox</span> = <span class="ruby-constant">VBox</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">false</span>, <span class="ruby-value">0</span>)
+ <span class="ruby-identifier">add</span>(<span class="ruby-identifier">vbox</span>)
+ <span class="ruby-comment cmt">#vbox.border_width = 0</span>
+
+ <span class="ruby-ivar">@treeview</span> = <span class="ruby-constant">JSONTreeView</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>)
+ <span class="ruby-ivar">@treeview</span>.<span class="ruby-identifier">signal_connect</span>(<span class="ruby-value str">'cursor-changed'</span><span class="ruby-value str">'cursor-changed'</span>) <span class="ruby-keyword kw">do</span>
+ <span class="ruby-identifier">display_status</span>(<span class="ruby-value str">''</span>)
+ <span class="ruby-keyword kw">end</span>
+
+ <span class="ruby-identifier">menu_bar</span> = <span class="ruby-identifier">create_menu_bar</span>
+ <span class="ruby-identifier">vbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">menu_bar</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-value">0</span>)
+
+ <span class="ruby-identifier">sw</span> = <span class="ruby-constant">ScrolledWindow</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span>)
+ <span class="ruby-identifier">sw</span>.<span class="ruby-identifier">shadow_type</span> = <span class="ruby-constant">SHADOW_ETCHED_IN</span>
+ <span class="ruby-identifier">sw</span>.<span class="ruby-identifier">set_policy</span>(<span class="ruby-constant">POLICY_AUTOMATIC</span>, <span class="ruby-constant">POLICY_AUTOMATIC</span>)
+ <span class="ruby-identifier">vbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">sw</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-value">0</span>)
+ <span class="ruby-identifier">sw</span>.<span class="ruby-identifier">add</span>(<span class="ruby-ivar">@treeview</span>)
+
+ <span class="ruby-ivar">@status_bar</span> = <span class="ruby-constant">Statusbar</span>.<span class="ruby-identifier">new</span>
+ <span class="ruby-identifier">vbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-ivar">@status_bar</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-value">0</span>)
+
+ <span class="ruby-ivar">@filename</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">nil</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@filename</span>
+ <span class="ruby-identifier">data</span> = <span class="ruby-identifier">read_data</span>(<span class="ruby-ivar">@filename</span>)
+ <span class="ruby-identifier">view_new_model</span> <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">data2model</span>(<span class="ruby-identifier">data</span>)
+ <span class="ruby-keyword kw">end</span>
+
+ <span class="ruby-identifier">signal_connect</span>(<span class="ruby-identifier">:button_release_event</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">_</span>,<span class="ruby-identifier">event</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">event</span>.<span class="ruby-identifier">button</span> <span class="ruby-operator">==</span> <span class="ruby-value">2</span>
+ <span class="ruby-identifier">c</span> = <span class="ruby-constant">Gtk</span><span class="ruby-operator">::</span><span class="ruby-constant">Clipboard</span>.<span class="ruby-identifier">get</span>(<span class="ruby-constant">Gdk</span><span class="ruby-operator">::</span><span class="ruby-constant">Selection</span><span class="ruby-operator">::</span><span class="ruby-constant">PRIMARY</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">url</span> = <span class="ruby-identifier">c</span>.<span class="ruby-identifier">wait_for_text</span>
+ <span class="ruby-identifier">location_open</span> <span class="ruby-identifier">url</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">false</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-keyword kw">true</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MainWindow.src/M000015.html b/doc/classes/MainWindow.src/M000015.html
new file mode 100644
index 0000000..8f3e79b
--- /dev/null
+++ b/doc/classes/MainWindow.src/M000015.html
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>create_menu_bar (MainWindow)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 1099</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create_menu_bar</span>
+ <span class="ruby-identifier">menu_bar</span> = <span class="ruby-constant">MenuBar</span>.<span class="ruby-identifier">new</span>
+ <span class="ruby-ivar">@file_menu</span> = <span class="ruby-constant">FileMenu</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@treeview</span>)
+ <span class="ruby-identifier">menu_bar</span>.<span class="ruby-identifier">append</span> <span class="ruby-ivar">@file_menu</span>.<span class="ruby-identifier">create</span>
+ <span class="ruby-ivar">@edit_menu</span> = <span class="ruby-constant">EditMenu</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@treeview</span>)
+ <span class="ruby-identifier">menu_bar</span>.<span class="ruby-identifier">append</span> <span class="ruby-ivar">@edit_menu</span>.<span class="ruby-identifier">create</span>
+ <span class="ruby-ivar">@options_menu</span> = <span class="ruby-constant">OptionsMenu</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@treeview</span>)
+ <span class="ruby-identifier">menu_bar</span>.<span class="ruby-identifier">append</span> <span class="ruby-ivar">@options_menu</span>.<span class="ruby-identifier">create</span>
+ <span class="ruby-identifier">menu_bar</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MainWindow.src/M000016.html b/doc/classes/MainWindow.src/M000016.html
new file mode 100644
index 0000000..4dd524b
--- /dev/null
+++ b/doc/classes/MainWindow.src/M000016.html
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>change (MainWindow)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 1112</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">change</span>
+ <span class="ruby-ivar">@changed</span> = <span class="ruby-keyword kw">true</span>
+ <span class="ruby-identifier">display_title</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MainWindow.src/M000017.html b/doc/classes/MainWindow.src/M000017.html
new file mode 100644
index 0000000..5f4fa8c
--- /dev/null
+++ b/doc/classes/MainWindow.src/M000017.html
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>unchange (MainWindow)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 1119</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unchange</span>
+ <span class="ruby-ivar">@changed</span> = <span class="ruby-keyword kw">false</span>
+ <span class="ruby-identifier">display_title</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MainWindow.src/M000018.html b/doc/classes/MainWindow.src/M000018.html
new file mode 100644
index 0000000..a4cd5e3
--- /dev/null
+++ b/doc/classes/MainWindow.src/M000018.html
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>view_new_model (MainWindow)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 1125</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">view_new_model</span>(<span class="ruby-identifier">model</span>)
+ <span class="ruby-ivar">@treeview</span>.<span class="ruby-identifier">model</span> = <span class="ruby-identifier">model</span>
+ <span class="ruby-ivar">@treeview</span>.<span class="ruby-identifier">expanded</span> = <span class="ruby-keyword kw">true</span>
+ <span class="ruby-ivar">@treeview</span>.<span class="ruby-identifier">expand_all</span>
+ <span class="ruby-identifier">unchange</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MainWindow.src/M000019.html b/doc/classes/MainWindow.src/M000019.html
new file mode 100644
index 0000000..8d3a121
--- /dev/null
+++ b/doc/classes/MainWindow.src/M000019.html
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>display_status (MainWindow)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 1133</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">display_status</span>(<span class="ruby-identifier">text</span>)
+ <span class="ruby-ivar">@cid</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">nil</span>
+ <span class="ruby-ivar">@status_bar</span>.<span class="ruby-identifier">pop</span>(<span class="ruby-ivar">@cid</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@cid</span>
+ <span class="ruby-ivar">@cid</span> = <span class="ruby-ivar">@status_bar</span>.<span class="ruby-identifier">get_context_id</span>(<span class="ruby-value str">'dummy'</span>)
+ <span class="ruby-ivar">@status_bar</span>.<span class="ruby-identifier">push</span>(<span class="ruby-ivar">@cid</span>, <span class="ruby-identifier">text</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MainWindow.src/M000020.html b/doc/classes/MainWindow.src/M000020.html
new file mode 100644
index 0000000..cd39ecb
--- /dev/null
+++ b/doc/classes/MainWindow.src/M000020.html
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>ask_save (MainWindow)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 1141</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ask_save</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">question_dialog</span>(<span class="ruby-keyword kw">self</span>,
+ <span class="ruby-value str">&quot;Unsaved changes to JSON model. Save?&quot;</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@filename</span>
+ <span class="ruby-identifier">file_save</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">file_save_as</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MainWindow.src/M000021.html b/doc/classes/MainWindow.src/M000021.html
new file mode 100644
index 0000000..92bf330
--- /dev/null
+++ b/doc/classes/MainWindow.src/M000021.html
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>quit (MainWindow)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 1153</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">quit</span>
+ <span class="ruby-identifier">ask_save</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@changed</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Gtk</span>.<span class="ruby-identifier">main_level</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
+ <span class="ruby-identifier">destroy</span>
+ <span class="ruby-constant">Gtk</span>.<span class="ruby-identifier">main_quit</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">nil</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MainWindow.src/M000022.html b/doc/classes/MainWindow.src/M000022.html
new file mode 100644
index 0000000..ca9d4b2
--- /dev/null
+++ b/doc/classes/MainWindow.src/M000022.html
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>display_title (MainWindow)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 1163</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">display_title</span>
+ <span class="ruby-identifier">title</span> = <span class="ruby-constant">TITLE</span>.<span class="ruby-identifier">dup</span>
+ <span class="ruby-identifier">title</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;: #@filename&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@filename</span>
+ <span class="ruby-identifier">title</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; *&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@changed</span>
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">title</span> = <span class="ruby-identifier">title</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MainWindow.src/M000023.html b/doc/classes/MainWindow.src/M000023.html
new file mode 100644
index 0000000..a9f187f
--- /dev/null
+++ b/doc/classes/MainWindow.src/M000023.html
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>clear (MainWindow)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 1171</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clear</span>
+ <span class="ruby-identifier">ask_save</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@changed</span>
+ <span class="ruby-ivar">@filename</span> = <span class="ruby-keyword kw">nil</span>
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">view_new_model</span> <span class="ruby-keyword kw">nil</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MainWindow.src/M000024.html b/doc/classes/MainWindow.src/M000024.html
new file mode 100644
index 0000000..1f91322
--- /dev/null
+++ b/doc/classes/MainWindow.src/M000024.html
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>location_open (MainWindow)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 1185</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">location_open</span>(<span class="ruby-identifier">uri</span> = <span class="ruby-keyword kw">nil</span>)
+ <span class="ruby-identifier">uri</span> = <span class="ruby-identifier">ask_for_location</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">uri</span>
+ <span class="ruby-identifier">uri</span> <span class="ruby-keyword kw">or</span> <span class="ruby-keyword kw">return</span>
+ <span class="ruby-identifier">ask_save</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@changed</span>
+ <span class="ruby-identifier">data</span> = <span class="ruby-identifier">load_location</span>(<span class="ruby-identifier">uri</span>) <span class="ruby-keyword kw">or</span> <span class="ruby-keyword kw">return</span>
+ <span class="ruby-identifier">view_new_model</span> <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">data2model</span>(<span class="ruby-identifier">data</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MainWindow.src/M000025.html b/doc/classes/MainWindow.src/M000025.html
new file mode 100644
index 0000000..9b80c51
--- /dev/null
+++ b/doc/classes/MainWindow.src/M000025.html
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>file_open (MainWindow)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 1195</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">file_open</span>(<span class="ruby-identifier">filename</span> = <span class="ruby-keyword kw">nil</span>)
+ <span class="ruby-identifier">filename</span> = <span class="ruby-identifier">select_file</span>(<span class="ruby-value str">'Open as a JSON file'</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">filename</span>
+ <span class="ruby-identifier">data</span> = <span class="ruby-identifier">load_file</span>(<span class="ruby-identifier">filename</span>) <span class="ruby-keyword kw">or</span> <span class="ruby-keyword kw">return</span>
+ <span class="ruby-identifier">view_new_model</span> <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">data2model</span>(<span class="ruby-identifier">data</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MainWindow.src/M000026.html b/doc/classes/MainWindow.src/M000026.html
new file mode 100644
index 0000000..2ab3568
--- /dev/null
+++ b/doc/classes/MainWindow.src/M000026.html
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>edit (MainWindow)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 1202</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">edit</span>(<span class="ruby-identifier">json</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">json</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:read</span>
+ <span class="ruby-identifier">json</span> = <span class="ruby-identifier">json</span>.<span class="ruby-identifier">read</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">data</span> = <span class="ruby-identifier">parse_json</span> <span class="ruby-identifier">json</span>
+ <span class="ruby-identifier">view_new_model</span> <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">data2model</span>(<span class="ruby-identifier">data</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MainWindow.src/M000027.html b/doc/classes/MainWindow.src/M000027.html
new file mode 100644
index 0000000..f3296d4
--- /dev/null
+++ b/doc/classes/MainWindow.src/M000027.html
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>file_save (MainWindow)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 1211</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">file_save</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@filename</span>
+ <span class="ruby-identifier">store_file</span>(<span class="ruby-ivar">@filename</span>)
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">file_save_as</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MainWindow.src/M000028.html b/doc/classes/MainWindow.src/M000028.html
new file mode 100644
index 0000000..63bdd08
--- /dev/null
+++ b/doc/classes/MainWindow.src/M000028.html
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>file_save_as (MainWindow)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 1220</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">file_save_as</span>
+ <span class="ruby-identifier">filename</span> = <span class="ruby-identifier">select_file</span>(<span class="ruby-value str">'Save as a JSON file'</span>)
+ <span class="ruby-identifier">store_file</span>(<span class="ruby-identifier">filename</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MainWindow.src/M000029.html b/doc/classes/MainWindow.src/M000029.html
new file mode 100644
index 0000000..c683cab
--- /dev/null
+++ b/doc/classes/MainWindow.src/M000029.html
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>store_file (MainWindow)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 1226</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">store_file</span>(<span class="ruby-identifier">path</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">path</span>
+ <span class="ruby-identifier">data</span> = <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">model2data</span>(<span class="ruby-ivar">@treeview</span>.<span class="ruby-identifier">model</span>.<span class="ruby-identifier">iter_first</span>)
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">path</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'.tmp'</span>, <span class="ruby-value str">'wb'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">output</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">data</span> <span class="ruby-keyword kw">or</span> <span class="ruby-keyword kw">break</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@options_menu</span>.<span class="ruby-identifier">pretty_item</span>.<span class="ruby-identifier">active?</span>
+ <span class="ruby-identifier">output</span>.<span class="ruby-identifier">puts</span> <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">pretty_generate</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">:max_nesting</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">false</span>)
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">output</span>.<span class="ruby-identifier">write</span> <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">generate</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">:max_nesting</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">false</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">rename</span> <span class="ruby-identifier">path</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'.tmp'</span>, <span class="ruby-identifier">path</span>
+ <span class="ruby-ivar">@filename</span> = <span class="ruby-identifier">path</span>
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-value str">&quot;Saved data to '#@filename'.&quot;</span>)
+ <span class="ruby-identifier">unchange</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">SystemCallError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
+ <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">error_dialog</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-node">&quot;Failed to store JSON file: #{e}!&quot;</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MainWindow.src/M000030.html b/doc/classes/MainWindow.src/M000030.html
new file mode 100644
index 0000000..6d1d76c
--- /dev/null
+++ b/doc/classes/MainWindow.src/M000030.html
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>load_file (MainWindow)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 1247</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">load_file</span>(<span class="ruby-identifier">filename</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">filename</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">filename</span>)
+ <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">error_dialog</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-value str">&quot;Try to select a JSON file!&quot;</span>)
+ <span class="ruby-keyword kw">nil</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-ivar">@filename</span> = <span class="ruby-identifier">filename</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">data</span> = <span class="ruby-identifier">read_data</span>(<span class="ruby-identifier">filename</span>)
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-value str">&quot;Loaded data from '#@filename'.&quot;</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">display_title</span>
+ <span class="ruby-identifier">data</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MainWindow.src/M000031.html b/doc/classes/MainWindow.src/M000031.html
new file mode 100644
index 0000000..dd9e6a7
--- /dev/null
+++ b/doc/classes/MainWindow.src/M000031.html
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>load_location (MainWindow)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 1264</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">load_location</span>(<span class="ruby-identifier">uri</span>)
+ <span class="ruby-identifier">data</span> = <span class="ruby-identifier">read_data</span>(<span class="ruby-identifier">uri</span>) <span class="ruby-keyword kw">or</span> <span class="ruby-keyword kw">return</span>
+ <span class="ruby-ivar">@filename</span> = <span class="ruby-keyword kw">nil</span>
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-node">&quot;Loaded data from '#{uri}'.&quot;</span>)
+ <span class="ruby-identifier">display_title</span>
+ <span class="ruby-identifier">data</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MainWindow.src/M000032.html b/doc/classes/MainWindow.src/M000032.html
new file mode 100644
index 0000000..a315d16
--- /dev/null
+++ b/doc/classes/MainWindow.src/M000032.html
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>read_data (MainWindow)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 1284</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read_data</span>(<span class="ruby-identifier">filename</span>)
+ <span class="ruby-identifier">open</span>(<span class="ruby-identifier">filename</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">json</span> = <span class="ruby-identifier">f</span>.<span class="ruby-identifier">read</span>
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">parse_json</span>(<span class="ruby-identifier">json</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
+ <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">error_dialog</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-node">&quot;Failed to parse JSON file: #{e}!&quot;</span>)
+ <span class="ruby-keyword kw">return</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MainWindow.src/M000033.html b/doc/classes/MainWindow.src/M000033.html
new file mode 100644
index 0000000..cac5cd8
--- /dev/null
+++ b/doc/classes/MainWindow.src/M000033.html
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>select_file (MainWindow)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 1296</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">select_file</span>(<span class="ruby-identifier">message</span>)
+ <span class="ruby-identifier">filename</span> = <span class="ruby-keyword kw">nil</span>
+ <span class="ruby-identifier">fs</span> = <span class="ruby-constant">FileSelection</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">message</span>)
+ <span class="ruby-identifier">fs</span>.<span class="ruby-identifier">set_modal</span>(<span class="ruby-keyword kw">true</span>)
+ <span class="ruby-ivar">@default_dir</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">Dir</span>.<span class="ruby-identifier">pwd</span>, <span class="ruby-value str">''</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@default_dir</span>
+ <span class="ruby-identifier">fs</span>.<span class="ruby-identifier">set_filename</span>(<span class="ruby-ivar">@default_dir</span>)
+ <span class="ruby-identifier">fs</span>.<span class="ruby-identifier">set_transient_for</span>(<span class="ruby-keyword kw">self</span>)
+ <span class="ruby-identifier">fs</span>.<span class="ruby-identifier">signal_connect</span>(<span class="ruby-identifier">:destroy</span>) { <span class="ruby-constant">Gtk</span>.<span class="ruby-identifier">main_quit</span> }
+ <span class="ruby-identifier">fs</span>.<span class="ruby-identifier">ok_button</span>.<span class="ruby-identifier">signal_connect</span>(<span class="ruby-identifier">:clicked</span>) <span class="ruby-keyword kw">do</span>
+ <span class="ruby-identifier">filename</span> = <span class="ruby-identifier">fs</span>.<span class="ruby-identifier">filename</span>
+ <span class="ruby-ivar">@default_dir</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">filename</span>), <span class="ruby-value str">''</span>)
+ <span class="ruby-identifier">fs</span>.<span class="ruby-identifier">destroy</span>
+ <span class="ruby-constant">Gtk</span>.<span class="ruby-identifier">main_quit</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">fs</span>.<span class="ruby-identifier">cancel_button</span>.<span class="ruby-identifier">signal_connect</span>(<span class="ruby-identifier">:clicked</span>) <span class="ruby-keyword kw">do</span>
+ <span class="ruby-identifier">fs</span>.<span class="ruby-identifier">destroy</span>
+ <span class="ruby-constant">Gtk</span>.<span class="ruby-identifier">main_quit</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">fs</span>.<span class="ruby-identifier">show_all</span>
+ <span class="ruby-constant">Gtk</span>.<span class="ruby-identifier">main</span>
+ <span class="ruby-identifier">filename</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MainWindow.src/M000034.html b/doc/classes/MainWindow.src/M000034.html
new file mode 100644
index 0000000..931adae
--- /dev/null
+++ b/doc/classes/MainWindow.src/M000034.html
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>ask_for_location (MainWindow)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 1320</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ask_for_location</span>
+ <span class="ruby-identifier">dialog</span> = <span class="ruby-constant">Dialog</span>.<span class="ruby-identifier">new</span>(
+ <span class="ruby-value str">&quot;Load data from location...&quot;</span>,
+ <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span>,
+ [ <span class="ruby-constant">Stock</span><span class="ruby-operator">::</span><span class="ruby-constant">OK</span>, <span class="ruby-constant">Dialog</span><span class="ruby-operator">::</span><span class="ruby-constant">RESPONSE_ACCEPT</span> ],
+ [ <span class="ruby-constant">Stock</span><span class="ruby-operator">::</span><span class="ruby-constant">CANCEL</span>, <span class="ruby-constant">Dialog</span><span class="ruby-operator">::</span><span class="ruby-constant">RESPONSE_REJECT</span> ]
+ )
+ <span class="ruby-identifier">hbox</span> = <span class="ruby-constant">HBox</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">false</span>, <span class="ruby-value">5</span>)
+
+ <span class="ruby-identifier">hbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-constant">Label</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;Location:&quot;</span>), <span class="ruby-keyword kw">false</span>)
+ <span class="ruby-identifier">hbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">location_input</span> = <span class="ruby-constant">Entry</span>.<span class="ruby-identifier">new</span>)
+ <span class="ruby-identifier">location_input</span>.<span class="ruby-identifier">width_chars</span> = <span class="ruby-value">60</span>
+ <span class="ruby-identifier">location_input</span>.<span class="ruby-identifier">text</span> = <span class="ruby-ivar">@location</span> <span class="ruby-operator">||</span> <span class="ruby-value str">''</span>
+
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">vbox</span>.<span class="ruby-identifier">pack_start</span>(<span class="ruby-identifier">hbox</span>, <span class="ruby-keyword kw">false</span>)
+
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">signal_connect</span>(<span class="ruby-value str">'key-press-event'</span><span class="ruby-value str">'key-press-event'</span>, <span class="ruby-operator">&amp;</span><span class="ruby-constant">DEFAULT_DIALOG_KEY_PRESS_HANDLER</span>)
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">show_all</span>
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">run</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">response</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">response</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Dialog</span><span class="ruby-operator">::</span><span class="ruby-constant">RESPONSE_ACCEPT</span>
+ <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@location</span> = <span class="ruby-identifier">location_input</span>.<span class="ruby-identifier">text</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">return</span>
+ <span class="ruby-keyword kw">ensure</span>
+ <span class="ruby-identifier">dialog</span>.<span class="ruby-identifier">destroy</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dialog</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MenuExtension.html b/doc/classes/MenuExtension.html
new file mode 100644
index 0000000..0586edb
--- /dev/null
+++ b/doc/classes/MenuExtension.html
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Module: MenuExtension</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Module</strong></td>
+ <td class="class-name-in-header">MenuExtension</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../files/lib/json/editor_rb.html">
+ lib/json/editor.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="description">
+ <p>
+This module bundles some method, that can be used to <a
+href="MenuExtension.html#M000080">create</a> a menu. It should be included
+into the class in question.
+</p>
+
+ </div>
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000079">add_item</a>&nbsp;&nbsp;
+ <a href="#M000078">add_separator</a>&nbsp;&nbsp;
+ <a href="#M000080">create</a>&nbsp;&nbsp;
+ <a href="#M000081">method_missing</a>&nbsp;&nbsp;
+ <a href="#M000077">new</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+ <div id="includes">
+ <h3 class="section-bar">Included Modules</h3>
+
+ <div id="includes-list">
+ <span class="include-name"><a href="Gtk.html">Gtk</a></span>
+ </div>
+ </div>
+
+ <div id="section">
+
+
+
+
+
+ <div id="attribute-list">
+ <h3 class="section-bar">Attributes</h3>
+
+ <div class="name-list">
+ <table>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">menu</td>
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+ <td class="context-item-desc">
+Returns the menu.
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">treeview</td>
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+ <td class="context-item-desc">
+Returns the Gtk::TreeView of this menu.
+
+</td>
+ </tr>
+ </table>
+ </div>
+ </div>
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Class methods</h3>
+
+ <div id="method-M000077" class="method-detail">
+ <a name="M000077"></a>
+
+ <div class="method-heading">
+ <a href="MenuExtension.src/M000077.html" target="Code" class="method-signature"
+ onclick="popupCode('MenuExtension.src/M000077.html');return false;">
+ <span class="method-name">new</span><span class="method-args">(treeview)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Creates a Menu, that includes <a
+href="MenuExtension.html">MenuExtension</a>. <em>treeview</em> is the
+Gtk::TreeView, on which it operates.
+</p>
+ </div>
+ </div>
+
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000079" class="method-detail">
+ <a name="M000079"></a>
+
+ <div class="method-heading">
+ <a href="MenuExtension.src/M000079.html" target="Code" class="method-signature"
+ onclick="popupCode('MenuExtension.src/M000079.html');return false;">
+ <span class="method-name">add_item</span><span class="method-args">(label, keyval = nil, klass = MenuItem, &amp;callback)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Adds a Gtk::MenuItem to this instance&#8216;s menu. <em>label</em> is the
+label string, <em>klass</em> is the item type, and <em>callback</em> is the
+procedure, that is called if the <em>item</em> is activated.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000078" class="method-detail">
+ <a name="M000078"></a>
+
+ <div class="method-heading">
+ <a href="MenuExtension.src/M000078.html" target="Code" class="method-signature"
+ onclick="popupCode('MenuExtension.src/M000078.html');return false;">
+ <span class="method-name">add_separator</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Adds a Gtk::SeparatorMenuItem to this instance&#8216;s menu.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000080" class="method-detail">
+ <a name="M000080"></a>
+
+ <div class="method-heading">
+ <a href="MenuExtension.src/M000080.html" target="Code" class="method-signature"
+ onclick="popupCode('MenuExtension.src/M000080.html');return false;">
+ <span class="method-name">create</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+This method should be implemented in subclasses to <a
+href="MenuExtension.html#M000080">create</a> the menu of this instance. It
+has to be called after an instance of this class is created, to build the
+menu.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000081" class="method-detail">
+ <a name="M000081"></a>
+
+ <div class="method-heading">
+ <a href="MenuExtension.src/M000081.html" target="Code" class="method-signature"
+ onclick="popupCode('MenuExtension.src/M000081.html');return false;">
+ <span class="method-name">method_missing</span><span class="method-args">(*a, &amp;b)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MenuExtension.src/M000077.html b/doc/classes/MenuExtension.src/M000077.html
new file mode 100644
index 0000000..aa148d5
--- /dev/null
+++ b/doc/classes/MenuExtension.src/M000077.html
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>new (MenuExtension)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 212</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">treeview</span>)
+ <span class="ruby-ivar">@treeview</span> = <span class="ruby-identifier">treeview</span>
+ <span class="ruby-ivar">@menu</span> = <span class="ruby-constant">Menu</span>.<span class="ruby-identifier">new</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MenuExtension.src/M000078.html b/doc/classes/MenuExtension.src/M000078.html
new file mode 100644
index 0000000..d594ce3
--- /dev/null
+++ b/doc/classes/MenuExtension.src/M000078.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>add_separator (MenuExtension)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 224</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_separator</span>
+ <span class="ruby-identifier">menu</span>.<span class="ruby-identifier">append</span> <span class="ruby-constant">SeparatorMenuItem</span>.<span class="ruby-identifier">new</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MenuExtension.src/M000079.html b/doc/classes/MenuExtension.src/M000079.html
new file mode 100644
index 0000000..d416c54
--- /dev/null
+++ b/doc/classes/MenuExtension.src/M000079.html
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>add_item (MenuExtension)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 231</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_item</span>(<span class="ruby-identifier">label</span>, <span class="ruby-identifier">keyval</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">klass</span> = <span class="ruby-constant">MenuItem</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">callback</span>)
+ <span class="ruby-identifier">label</span> = <span class="ruby-node">&quot;#{label} (C-#{keyval.chr})&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">keyval</span>
+ <span class="ruby-identifier">item</span> = <span class="ruby-identifier">klass</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">label</span>)
+ <span class="ruby-identifier">item</span>.<span class="ruby-identifier">signal_connect</span>(<span class="ruby-identifier">:activate</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">callback</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">keyval</span>
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">signal_connect</span>(<span class="ruby-value str">'key-press-event'</span><span class="ruby-value str">'key-press-event'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">item</span>, <span class="ruby-identifier">event</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">event</span>.<span class="ruby-identifier">state</span> <span class="ruby-operator">&amp;</span> <span class="ruby-constant">Gdk</span><span class="ruby-operator">::</span><span class="ruby-constant">Window</span><span class="ruby-operator">::</span><span class="ruby-constant">ModifierType</span><span class="ruby-operator">::</span><span class="ruby-constant">CONTROL_MASK</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">and</span>
+ <span class="ruby-identifier">event</span>.<span class="ruby-identifier">keyval</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">keyval</span>
+ <span class="ruby-identifier">callback</span>.<span class="ruby-identifier">call</span> <span class="ruby-identifier">item</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">menu</span>.<span class="ruby-identifier">append</span> <span class="ruby-identifier">item</span>
+ <span class="ruby-identifier">item</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MenuExtension.src/M000080.html b/doc/classes/MenuExtension.src/M000080.html
new file mode 100644
index 0000000..3e5ca08
--- /dev/null
+++ b/doc/classes/MenuExtension.src/M000080.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>create (MenuExtension)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 250</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create</span>
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/MenuExtension.src/M000081.html b/doc/classes/MenuExtension.src/M000081.html
new file mode 100644
index 0000000..0fa3a50
--- /dev/null
+++ b/doc/classes/MenuExtension.src/M000081.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>method_missing (MenuExtension)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 254</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">a</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">b</span>)
+ <span class="ruby-identifier">treeview</span>.<span class="ruby-identifier">__send__</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">a</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">b</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Object.html b/doc/classes/Object.html
new file mode 100644
index 0000000..69cb3e1
--- /dev/null
+++ b/doc/classes/Object.html
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: Object</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">Object</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../files/lib/json/add/rails_rb.html">
+ lib/json/add/rails.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ <a href="Object.html">
+ Object
+ </a>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000012">json_create</a>&nbsp;&nbsp;
+ <a href="#M000013">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Class methods</h3>
+
+ <div id="method-M000012" class="method-detail">
+ <a name="M000012"></a>
+
+ <div class="method-heading">
+ <a href="Object.src/M000012.html" target="Code" class="method-signature"
+ onclick="popupCode('Object.src/M000012.html');return false;">
+ <span class="method-name">json_create</span><span class="method-args">(object)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000013" class="method-detail">
+ <a name="M000013"></a>
+
+ <div class="method-heading">
+ <a href="Object.src/M000013.html" target="Code" class="method-signature"
+ onclick="popupCode('Object.src/M000013.html');return false;">
+ <span class="method-name">to_json</span><span class="method-args">(*a)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Object.src/M000012.html b/doc/classes/Object.src/M000012.html
new file mode 100644
index 0000000..3f8ee9c
--- /dev/null
+++ b/doc/classes/Object.src/M000012.html
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>json_create (Object)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/add/rails.rb, line 10</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">json_create</span>(<span class="ruby-identifier">object</span>)
+ <span class="ruby-identifier">obj</span> = <span class="ruby-identifier">new</span>
+ <span class="ruby-keyword kw">for</span> <span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span> <span class="ruby-keyword kw">in</span> <span class="ruby-identifier">object</span>
+ <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">key</span> <span class="ruby-operator">==</span> <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">create_id</span>
+ <span class="ruby-identifier">instance_variable_set</span> <span class="ruby-node">&quot;@#{key}&quot;</span>, <span class="ruby-identifier">value</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">obj</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Object.src/M000013.html b/doc/classes/Object.src/M000013.html
new file mode 100644
index 0000000..213d144
--- /dev/null
+++ b/doc/classes/Object.src/M000013.html
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (Object)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/add/rails.rb, line 19</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">a</span>)
+ <span class="ruby-identifier">result</span> = {
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">create_id</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">name</span>
+ }
+ <span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">inject</span>(<span class="ruby-identifier">result</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">r</span>, <span class="ruby-identifier">name</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">r</span>[<span class="ruby-identifier">name</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>]] = <span class="ruby-identifier">instance_variable_get</span> <span class="ruby-identifier">name</span>
+ <span class="ruby-identifier">r</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">result</span>.<span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">a</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/OptionsMenu.html b/doc/classes/OptionsMenu.html
new file mode 100644
index 0000000..d5b3f0f
--- /dev/null
+++ b/doc/classes/OptionsMenu.html
@@ -0,0 +1,198 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: OptionsMenu</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">OptionsMenu</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../files/lib/json/editor_rb.html">
+ lib/json/editor.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ <a href="Object.html">
+ Object
+ </a>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000003">collapsed_nodes</a>&nbsp;&nbsp;
+ <a href="#M000005">create</a>&nbsp;&nbsp;
+ <a href="#M000004">pretty_saving</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+ <div id="includes">
+ <h3 class="section-bar">Included Modules</h3>
+
+ <div id="includes-list">
+ <span class="include-name"><a href="MenuExtension.html">MenuExtension</a></span>
+ </div>
+ </div>
+
+ <div id="section">
+
+
+
+
+
+ <div id="attribute-list">
+ <h3 class="section-bar">Attributes</h3>
+
+ <div class="name-list">
+ <table>
+ <tr class="top-aligned-row context-row">
+ <td class="context-item-name">pretty_item</td>
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+ <td class="context-item-desc"></td>
+ </tr>
+ </table>
+ </div>
+ </div>
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000003" class="method-detail">
+ <a name="M000003"></a>
+
+ <div class="method-heading">
+ <a href="OptionsMenu.src/M000003.html" target="Code" class="method-signature"
+ onclick="popupCode('OptionsMenu.src/M000003.html');return false;">
+ <span class="method-name">collapsed_nodes</span><span class="method-args">(item)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Collapse/Expand all nodes by default.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000005" class="method-detail">
+ <a name="M000005"></a>
+
+ <div class="method-heading">
+ <a href="OptionsMenu.src/M000005.html" target="Code" class="method-signature"
+ onclick="popupCode('OptionsMenu.src/M000005.html');return false;">
+ <span class="method-name">create</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Create the menu.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000004" class="method-detail">
+ <a name="M000004"></a>
+
+ <div class="method-heading">
+ <a href="OptionsMenu.src/M000004.html" target="Code" class="method-signature"
+ onclick="popupCode('OptionsMenu.src/M000004.html');return false;">
+ <span class="method-name">pretty_saving</span><span class="method-args">(item)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Toggle pretty saving mode on/off.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/OptionsMenu.src/M000003.html b/doc/classes/OptionsMenu.src/M000003.html
new file mode 100644
index 0000000..bbb4212
--- /dev/null
+++ b/doc/classes/OptionsMenu.src/M000003.html
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>collapsed_nodes (OptionsMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 663</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collapsed_nodes</span>(<span class="ruby-identifier">item</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">expanded</span>
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">expanded</span> = <span class="ruby-keyword kw">false</span>
+ <span class="ruby-identifier">collapse_all</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">expanded</span> = <span class="ruby-keyword kw">true</span>
+ <span class="ruby-identifier">expand_all</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/OptionsMenu.src/M000004.html b/doc/classes/OptionsMenu.src/M000004.html
new file mode 100644
index 0000000..e7d7294
--- /dev/null
+++ b/doc/classes/OptionsMenu.src/M000004.html
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>pretty_saving (OptionsMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 674</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pretty_saving</span>(<span class="ruby-identifier">item</span>)
+ <span class="ruby-ivar">@pretty_item</span>.<span class="ruby-identifier">toggled</span>
+ <span class="ruby-identifier">window</span>.<span class="ruby-identifier">change</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/OptionsMenu.src/M000005.html b/doc/classes/OptionsMenu.src/M000005.html
new file mode 100644
index 0000000..a01a882
--- /dev/null
+++ b/doc/classes/OptionsMenu.src/M000005.html
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>create (OptionsMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 682</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create</span>
+ <span class="ruby-identifier">title</span> = <span class="ruby-constant">MenuItem</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Options'</span>)
+ <span class="ruby-identifier">title</span>.<span class="ruby-identifier">submenu</span> = <span class="ruby-identifier">menu</span>
+ <span class="ruby-identifier">add_item</span>(<span class="ruby-value str">'Collapsed nodes'</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-constant">CheckMenuItem</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">method</span>(<span class="ruby-identifier">:collapsed_nodes</span>))
+ <span class="ruby-ivar">@pretty_item</span> = <span class="ruby-identifier">add_item</span>(<span class="ruby-value str">'Pretty saving'</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-constant">CheckMenuItem</span>,
+ <span class="ruby-operator">&amp;</span><span class="ruby-identifier">method</span>(<span class="ruby-identifier">:pretty_saving</span>))
+ <span class="ruby-ivar">@pretty_item</span>.<span class="ruby-identifier">active</span> = <span class="ruby-keyword kw">true</span>
+ <span class="ruby-identifier">window</span>.<span class="ruby-identifier">unchange</span>
+ <span class="ruby-identifier">title</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/PopUpMenu.html b/doc/classes/PopUpMenu.html
new file mode 100644
index 0000000..68facd0
--- /dev/null
+++ b/doc/classes/PopUpMenu.html
@@ -0,0 +1,302 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: PopUpMenu</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">PopUpMenu</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../files/lib/json/editor_rb.html">
+ lib/json/editor.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ <a href="Object.html">
+ Object
+ </a>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="description">
+ <p>
+This class creates the popup menu, that opens when clicking onto the
+treeview.
+</p>
+
+ </div>
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000047">append_new_node</a>&nbsp;&nbsp;
+ <a href="#M000042">change_node</a>&nbsp;&nbsp;
+ <a href="#M000049">collapse_expand</a>&nbsp;&nbsp;
+ <a href="#M000044">copy_node</a>&nbsp;&nbsp;
+ <a href="#M000050">create</a>&nbsp;&nbsp;
+ <a href="#M000043">cut_node</a>&nbsp;&nbsp;
+ <a href="#M000048">insert_new_node</a>&nbsp;&nbsp;
+ <a href="#M000045">paste_node_appending</a>&nbsp;&nbsp;
+ <a href="#M000046">paste_node_inserting_before</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+ <div id="includes">
+ <h3 class="section-bar">Included Modules</h3>
+
+ <div id="includes-list">
+ <span class="include-name"><a href="MenuExtension.html">MenuExtension</a></span>
+ </div>
+ </div>
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000047" class="method-detail">
+ <a name="M000047"></a>
+
+ <div class="method-heading">
+ <a href="PopUpMenu.src/M000047.html" target="Code" class="method-signature"
+ onclick="popupCode('PopUpMenu.src/M000047.html');return false;">
+ <span class="method-name">append_new_node</span><span class="method-args">(item)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Append a new node to the selected Hash or Array.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000042" class="method-detail">
+ <a name="M000042"></a>
+
+ <div class="method-heading">
+ <a href="PopUpMenu.src/M000042.html" target="Code" class="method-signature"
+ onclick="popupCode('PopUpMenu.src/M000042.html');return false;">
+ <span class="method-name">change_node</span><span class="method-args">(item)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Change the type or content of the selected node.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000049" class="method-detail">
+ <a name="M000049"></a>
+
+ <div class="method-heading">
+ <a href="PopUpMenu.src/M000049.html" target="Code" class="method-signature"
+ onclick="popupCode('PopUpMenu.src/M000049.html');return false;">
+ <span class="method-name">collapse_expand</span><span class="method-args">(item)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Recursively collapse/expand a subtree starting from the selected node.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000044" class="method-detail">
+ <a name="M000044"></a>
+
+ <div class="method-heading">
+ <a href="PopUpMenu.src/M000044.html" target="Code" class="method-signature"
+ onclick="popupCode('PopUpMenu.src/M000044.html');return false;">
+ <span class="method-name">copy_node</span><span class="method-args">(item)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Copy the selected node and its subtree, and save it into the clipboard.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000050" class="method-detail">
+ <a name="M000050"></a>
+
+ <div class="method-heading">
+ <a href="PopUpMenu.src/M000050.html" target="Code" class="method-signature"
+ onclick="popupCode('PopUpMenu.src/M000050.html');return false;">
+ <span class="method-name">create</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Create the menu.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000043" class="method-detail">
+ <a name="M000043"></a>
+
+ <div class="method-heading">
+ <a href="PopUpMenu.src/M000043.html" target="Code" class="method-signature"
+ onclick="popupCode('PopUpMenu.src/M000043.html');return false;">
+ <span class="method-name">cut_node</span><span class="method-args">(item)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Cut the selected node and its subtree, and save it into the clipboard.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000048" class="method-detail">
+ <a name="M000048"></a>
+
+ <div class="method-heading">
+ <a href="PopUpMenu.src/M000048.html" target="Code" class="method-signature"
+ onclick="popupCode('PopUpMenu.src/M000048.html');return false;">
+ <span class="method-name">insert_new_node</span><span class="method-args">(item)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Insert a new node into an Array before the selected element.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000045" class="method-detail">
+ <a name="M000045"></a>
+
+ <div class="method-heading">
+ <a href="PopUpMenu.src/M000045.html" target="Code" class="method-signature"
+ onclick="popupCode('PopUpMenu.src/M000045.html');return false;">
+ <span class="method-name">paste_node_appending</span><span class="method-args">(item)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Paste the data in the clipboard into the selected Array or Hash by
+appending it.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000046" class="method-detail">
+ <a name="M000046"></a>
+
+ <div class="method-heading">
+ <a href="PopUpMenu.src/M000046.html" target="Code" class="method-signature"
+ onclick="popupCode('PopUpMenu.src/M000046.html');return false;">
+ <span class="method-name">paste_node_inserting_before</span><span class="method-args">(item)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Paste the data in the clipboard into the selected Array inserting it before
+the selected element.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/PopUpMenu.src/M000042.html b/doc/classes/PopUpMenu.src/M000042.html
new file mode 100644
index 0000000..cf301b2
--- /dev/null
+++ b/doc/classes/PopUpMenu.src/M000042.html
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>change_node (PopUpMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 265</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">change_node</span>(<span class="ruby-identifier">item</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span> = <span class="ruby-identifier">selection</span>.<span class="ruby-identifier">selected</span>
+ <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">current</span>.<span class="ruby-identifier">parent</span>
+ <span class="ruby-identifier">old_type</span>, <span class="ruby-identifier">old_content</span> = <span class="ruby-identifier">current</span>.<span class="ruby-identifier">type</span>, <span class="ruby-identifier">current</span>.<span class="ruby-identifier">content</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-constant">ALL_TYPES</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">old_type</span>)
+ <span class="ruby-ivar">@clipboard_data</span> = <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">model2data</span>(<span class="ruby-identifier">current</span>)
+ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">content</span> = <span class="ruby-identifier">ask_for_element</span>(<span class="ruby-identifier">parent</span>, <span class="ruby-identifier">current</span>.<span class="ruby-identifier">type</span>,
+ <span class="ruby-identifier">current</span>.<span class="ruby-identifier">content</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">type</span>
+ <span class="ruby-identifier">current</span>.<span class="ruby-identifier">type</span>, <span class="ruby-identifier">current</span>.<span class="ruby-identifier">content</span> = <span class="ruby-identifier">type</span>, <span class="ruby-identifier">content</span>
+ <span class="ruby-identifier">current</span>.<span class="ruby-identifier">remove_subtree</span>(<span class="ruby-identifier">model</span>)
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-value str">&quot;Changed a node in tree.&quot;</span>)
+ <span class="ruby-identifier">window</span>.<span class="ruby-identifier">change</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(
+ <span class="ruby-node">&quot;Cannot change node of type #{old_type} in tree!&quot;</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/PopUpMenu.src/M000043.html b/doc/classes/PopUpMenu.src/M000043.html
new file mode 100644
index 0000000..d0962ff
--- /dev/null
+++ b/doc/classes/PopUpMenu.src/M000043.html
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>cut_node (PopUpMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 288</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cut_node</span>(<span class="ruby-identifier">item</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span> = <span class="ruby-identifier">selection</span>.<span class="ruby-identifier">selected</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">current</span>.<span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'Key'</span>
+ <span class="ruby-ivar">@clipboard_data</span> = {
+ <span class="ruby-identifier">current</span>.<span class="ruby-identifier">content</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">model2data</span>(<span class="ruby-identifier">current</span>.<span class="ruby-identifier">first_child</span>)
+ }
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-ivar">@clipboard_data</span> = <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">model2data</span>(<span class="ruby-identifier">current</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">model</span>.<span class="ruby-identifier">remove</span>(<span class="ruby-identifier">current</span>)
+ <span class="ruby-identifier">window</span>.<span class="ruby-identifier">change</span>
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-value str">&quot;Cut a node from tree.&quot;</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/PopUpMenu.src/M000044.html b/doc/classes/PopUpMenu.src/M000044.html
new file mode 100644
index 0000000..37e966e
--- /dev/null
+++ b/doc/classes/PopUpMenu.src/M000044.html
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>copy_node (PopUpMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 305</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">copy_node</span>(<span class="ruby-identifier">item</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span> = <span class="ruby-identifier">selection</span>.<span class="ruby-identifier">selected</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">current</span>.<span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'Key'</span>
+ <span class="ruby-ivar">@clipboard_data</span> = {
+ <span class="ruby-identifier">current</span>.<span class="ruby-identifier">content</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">model2data</span>(<span class="ruby-identifier">current</span>.<span class="ruby-identifier">first_child</span>)
+ }
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-ivar">@clipboard_data</span> = <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">model2data</span>(<span class="ruby-identifier">current</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">window</span>.<span class="ruby-identifier">change</span>
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-value str">&quot;Copied a node from tree.&quot;</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/PopUpMenu.src/M000045.html b/doc/classes/PopUpMenu.src/M000045.html
new file mode 100644
index 0000000..b17712e
--- /dev/null
+++ b/doc/classes/PopUpMenu.src/M000045.html
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>paste_node_appending (PopUpMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 321</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">paste_node_appending</span>(<span class="ruby-identifier">item</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span> = <span class="ruby-identifier">selection</span>.<span class="ruby-identifier">selected</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@clipboard_data</span>
+ <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">current</span>.<span class="ruby-identifier">type</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'Array'</span>
+ <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">data2model</span>(<span class="ruby-ivar">@clipboard_data</span>, <span class="ruby-identifier">model</span>, <span class="ruby-identifier">current</span>)
+ <span class="ruby-identifier">expand_collapse</span>(<span class="ruby-identifier">current</span>)
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'Hash'</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@clipboard_data</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">Hash</span>
+ <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">current</span>.<span class="ruby-identifier">parent</span>
+ <span class="ruby-identifier">hash</span> = <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">model2data</span>(<span class="ruby-identifier">current</span>)
+ <span class="ruby-identifier">model</span>.<span class="ruby-identifier">remove</span>(<span class="ruby-identifier">current</span>)
+ <span class="ruby-identifier">hash</span>.<span class="ruby-identifier">update</span>(<span class="ruby-ivar">@clipboard_data</span>)
+ <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">data2model</span>(<span class="ruby-identifier">hash</span>, <span class="ruby-identifier">model</span>, <span class="ruby-identifier">parent</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>
+ <span class="ruby-identifier">expand_collapse</span>(<span class="ruby-identifier">parent</span>)
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@expanded</span>
+ <span class="ruby-identifier">expand_all</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">window</span>.<span class="ruby-identifier">change</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(
+ <span class="ruby-node">&quot;Cannot paste non-#{current.type} data into '#{current.type}'!&quot;</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(
+ <span class="ruby-node">&quot;Cannot paste node below '#{current.type}'!&quot;</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-value str">&quot;Nothing to paste in clipboard!&quot;</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-value str">&quot;Append a node into the root first!&quot;</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/PopUpMenu.src/M000046.html b/doc/classes/PopUpMenu.src/M000046.html
new file mode 100644
index 0000000..ae379e1
--- /dev/null
+++ b/doc/classes/PopUpMenu.src/M000046.html
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>paste_node_inserting_before (PopUpMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 359</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">paste_node_inserting_before</span>(<span class="ruby-identifier">item</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span> = <span class="ruby-identifier">selection</span>.<span class="ruby-identifier">selected</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@clipboard_data</span>
+ <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">current</span>.<span class="ruby-identifier">parent</span> <span class="ruby-keyword kw">or</span> <span class="ruby-keyword kw">return</span>
+ <span class="ruby-identifier">parent_type</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">type</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent_type</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'Array'</span>
+ <span class="ruby-identifier">selected_index</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">each_with_index</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span>, <span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword kw">break</span> <span class="ruby-identifier">i</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">current</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">data2model</span>(<span class="ruby-ivar">@clipboard_data</span>, <span class="ruby-identifier">model</span>, <span class="ruby-identifier">parent</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">m</span>.<span class="ruby-identifier">insert_before</span>(<span class="ruby-identifier">parent</span>, <span class="ruby-identifier">current</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">expand_collapse</span>(<span class="ruby-identifier">current</span>)
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-value str">&quot;Inserted an element to &quot;</span> <span class="ruby-operator">+</span>
+ <span class="ruby-node">&quot;'#{parent_type}' before index #{selected_index}.&quot;</span>)
+ <span class="ruby-identifier">window</span>.<span class="ruby-identifier">change</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(
+ <span class="ruby-node">&quot;Cannot insert node below '#{parent_type}'!&quot;</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-value str">&quot;Nothing to paste in clipboard!&quot;</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-value str">&quot;Append a node into the root first!&quot;</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/PopUpMenu.src/M000047.html b/doc/classes/PopUpMenu.src/M000047.html
new file mode 100644
index 0000000..2c7af18
--- /dev/null
+++ b/doc/classes/PopUpMenu.src/M000047.html
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>append_new_node (PopUpMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 388</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">append_new_node</span>(<span class="ruby-identifier">item</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">selection</span>.<span class="ruby-identifier">selected</span>
+ <span class="ruby-identifier">parent_type</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">type</span>
+ <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">parent_type</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'Hash'</span>
+ <span class="ruby-identifier">key</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">content</span> = <span class="ruby-identifier">ask_for_hash_pair</span>(<span class="ruby-identifier">parent</span>)
+ <span class="ruby-identifier">key</span> <span class="ruby-keyword kw">or</span> <span class="ruby-keyword kw">return</span>
+ <span class="ruby-identifier">iter</span> = <span class="ruby-identifier">create_node</span>(<span class="ruby-identifier">parent</span>, <span class="ruby-value str">'Key'</span>, <span class="ruby-identifier">key</span>)
+ <span class="ruby-identifier">iter</span> = <span class="ruby-identifier">create_node</span>(<span class="ruby-identifier">iter</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">content</span>)
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(
+ <span class="ruby-node">&quot;Added a (key, value)-pair to '#{parent_type}'.&quot;</span>)
+ <span class="ruby-identifier">window</span>.<span class="ruby-identifier">change</span>
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'Array'</span>
+ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">content</span> = <span class="ruby-identifier">ask_for_element</span>(<span class="ruby-identifier">parent</span>)
+ <span class="ruby-identifier">type</span> <span class="ruby-keyword kw">or</span> <span class="ruby-keyword kw">return</span>
+ <span class="ruby-identifier">iter</span> = <span class="ruby-identifier">create_node</span>(<span class="ruby-identifier">parent</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">content</span>)
+ <span class="ruby-identifier">window</span>.<span class="ruby-identifier">change</span>
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-node">&quot;Appendend an element to '#{parent_type}'.&quot;</span>)
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-node">&quot;Cannot append to '#{parent_type}'!&quot;</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">content</span> = <span class="ruby-identifier">ask_for_element</span>
+ <span class="ruby-identifier">type</span> <span class="ruby-keyword kw">or</span> <span class="ruby-keyword kw">return</span>
+ <span class="ruby-identifier">iter</span> = <span class="ruby-identifier">create_node</span>(<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">content</span>)
+ <span class="ruby-identifier">window</span>.<span class="ruby-identifier">change</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/PopUpMenu.src/M000048.html b/doc/classes/PopUpMenu.src/M000048.html
new file mode 100644
index 0000000..f054180
--- /dev/null
+++ b/doc/classes/PopUpMenu.src/M000048.html
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>insert_new_node (PopUpMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 418</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">insert_new_node</span>(<span class="ruby-identifier">item</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span> = <span class="ruby-identifier">selection</span>.<span class="ruby-identifier">selected</span>
+ <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">current</span>.<span class="ruby-identifier">parent</span> <span class="ruby-keyword kw">or</span> <span class="ruby-keyword kw">return</span>
+ <span class="ruby-identifier">parent_parent</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">parent</span>
+ <span class="ruby-identifier">parent_type</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">type</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent_type</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'Array'</span>
+ <span class="ruby-identifier">selected_index</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">each_with_index</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span>, <span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword kw">break</span> <span class="ruby-identifier">i</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">current</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">content</span> = <span class="ruby-identifier">ask_for_element</span>(<span class="ruby-identifier">parent</span>)
+ <span class="ruby-identifier">type</span> <span class="ruby-keyword kw">or</span> <span class="ruby-keyword kw">return</span>
+ <span class="ruby-identifier">iter</span> = <span class="ruby-identifier">model</span>.<span class="ruby-identifier">insert_before</span>(<span class="ruby-identifier">parent</span>, <span class="ruby-identifier">current</span>)
+ <span class="ruby-identifier">iter</span>.<span class="ruby-identifier">type</span>, <span class="ruby-identifier">iter</span>.<span class="ruby-identifier">content</span> = <span class="ruby-identifier">type</span>, <span class="ruby-identifier">content</span>
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-value str">&quot;Inserted an element to &quot;</span> <span class="ruby-operator">+</span>
+ <span class="ruby-node">&quot;'#{parent_type}' before index #{selected_index}.&quot;</span>)
+ <span class="ruby-identifier">window</span>.<span class="ruby-identifier">change</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(
+ <span class="ruby-node">&quot;Cannot insert node below '#{parent_type}'!&quot;</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-value str">&quot;Append a node into the root first!&quot;</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/PopUpMenu.src/M000049.html b/doc/classes/PopUpMenu.src/M000049.html
new file mode 100644
index 0000000..75ddc5b
--- /dev/null
+++ b/doc/classes/PopUpMenu.src/M000049.html
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>collapse_expand (PopUpMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 444</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collapse_expand</span>(<span class="ruby-identifier">item</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span> = <span class="ruby-identifier">selection</span>.<span class="ruby-identifier">selected</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">row_expanded?</span>(<span class="ruby-identifier">current</span>.<span class="ruby-identifier">path</span>)
+ <span class="ruby-identifier">collapse_row</span>(<span class="ruby-identifier">current</span>.<span class="ruby-identifier">path</span>)
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">expand_row</span>(<span class="ruby-identifier">current</span>.<span class="ruby-identifier">path</span>, <span class="ruby-keyword kw">true</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">toplevel</span>.<span class="ruby-identifier">display_status</span>(<span class="ruby-value str">&quot;Append a node into the root first!&quot;</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/PopUpMenu.src/M000050.html b/doc/classes/PopUpMenu.src/M000050.html
new file mode 100644
index 0000000..9e53c65
--- /dev/null
+++ b/doc/classes/PopUpMenu.src/M000050.html
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>create (PopUpMenu)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 457</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create</span>
+ <span class="ruby-identifier">add_item</span>(<span class="ruby-value str">&quot;Change node&quot;</span>, <span class="ruby-value">?n</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">method</span>(<span class="ruby-identifier">:change_node</span>))
+ <span class="ruby-identifier">add_separator</span>
+ <span class="ruby-identifier">add_item</span>(<span class="ruby-value str">&quot;Cut node&quot;</span>, <span class="ruby-value">?X</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">method</span>(<span class="ruby-identifier">:cut_node</span>))
+ <span class="ruby-identifier">add_item</span>(<span class="ruby-value str">&quot;Copy node&quot;</span>, <span class="ruby-value">?C</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">method</span>(<span class="ruby-identifier">:copy_node</span>))
+ <span class="ruby-identifier">add_item</span>(<span class="ruby-value str">&quot;Paste node (appending)&quot;</span>, <span class="ruby-value">?A</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">method</span>(<span class="ruby-identifier">:paste_node_appending</span>))
+ <span class="ruby-identifier">add_item</span>(<span class="ruby-value str">&quot;Paste node (inserting before)&quot;</span>, <span class="ruby-value">?I</span>,
+ <span class="ruby-operator">&amp;</span><span class="ruby-identifier">method</span>(<span class="ruby-identifier">:paste_node_inserting_before</span>))
+ <span class="ruby-identifier">add_separator</span>
+ <span class="ruby-identifier">add_item</span>(<span class="ruby-value str">&quot;Append new node&quot;</span>, <span class="ruby-value">?a</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">method</span>(<span class="ruby-identifier">:append_new_node</span>))
+ <span class="ruby-identifier">add_item</span>(<span class="ruby-value str">&quot;Insert new node before&quot;</span>, <span class="ruby-value">?i</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">method</span>(<span class="ruby-identifier">:insert_new_node</span>))
+ <span class="ruby-identifier">add_separator</span>
+ <span class="ruby-identifier">add_item</span>(<span class="ruby-value str">&quot;Collapse/Expand node (recursively)&quot;</span>, <span class="ruby-value">?e</span>,
+ <span class="ruby-operator">&amp;</span><span class="ruby-identifier">method</span>(<span class="ruby-identifier">:collapse_expand</span>))
+
+ <span class="ruby-identifier">menu</span>.<span class="ruby-identifier">show_all</span>
+ <span class="ruby-identifier">signal_connect</span>(<span class="ruby-identifier">:button_press_event</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">widget</span>, <span class="ruby-identifier">event</span><span class="ruby-operator">|</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">event</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Gdk</span><span class="ruby-operator">::</span><span class="ruby-constant">EventButton</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">event</span>.<span class="ruby-identifier">button</span> <span class="ruby-operator">==</span> <span class="ruby-value">3</span>
+ <span class="ruby-identifier">menu</span>.<span class="ruby-identifier">popup</span>(<span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">event</span>.<span class="ruby-identifier">button</span>, <span class="ruby-identifier">event</span>.<span class="ruby-identifier">time</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">signal_connect</span>(<span class="ruby-identifier">:popup_menu</span>) <span class="ruby-keyword kw">do</span>
+ <span class="ruby-identifier">menu</span>.<span class="ruby-identifier">popup</span>(<span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-value">0</span>, <span class="ruby-constant">Gdk</span><span class="ruby-operator">::</span><span class="ruby-constant">Event</span><span class="ruby-operator">::</span><span class="ruby-constant">CURRENT_TIME</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Range.html b/doc/classes/Range.html
new file mode 100644
index 0000000..b4dfb15
--- /dev/null
+++ b/doc/classes/Range.html
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: Range</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">Range</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../files/lib/json/add/core_rb.html">
+ lib/json/add/core.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ <a href="Object.html">
+ Object
+ </a>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000073">json_create</a>&nbsp;&nbsp;
+ <a href="#M000074">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Class methods</h3>
+
+ <div id="method-M000073" class="method-detail">
+ <a name="M000073"></a>
+
+ <div class="method-heading">
+ <a href="Range.src/M000073.html" target="Code" class="method-signature"
+ onclick="popupCode('Range.src/M000073.html');return false;">
+ <span class="method-name">json_create</span><span class="method-args">(object)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000074" class="method-detail">
+ <a name="M000074"></a>
+
+ <div class="method-heading">
+ <a href="Range.src/M000074.html" target="Code" class="method-signature"
+ onclick="popupCode('Range.src/M000074.html');return false;">
+ <span class="method-name">to_json</span><span class="method-args">(*args)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Range.src/M000073.html b/doc/classes/Range.src/M000073.html
new file mode 100644
index 0000000..cbca52e
--- /dev/null
+++ b/doc/classes/Range.src/M000073.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>json_create (Range)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/add/core.rb, line 93</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">json_create</span>(<span class="ruby-identifier">object</span>)
+ <span class="ruby-identifier">new</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">object</span>[<span class="ruby-value str">'a'</span>])
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Range.src/M000074.html b/doc/classes/Range.src/M000074.html
new file mode 100644
index 0000000..21294cd
--- /dev/null
+++ b/doc/classes/Range.src/M000074.html
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (Range)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/add/core.rb, line 97</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
+ {
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">create_id</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">name</span>,
+ <span class="ruby-value str">'a'</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-identifier">first</span>, <span class="ruby-identifier">last</span>, <span class="ruby-identifier">exclude_end?</span> ]
+ }.<span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Regexp.html b/doc/classes/Regexp.html
new file mode 100644
index 0000000..4f18ce1
--- /dev/null
+++ b/doc/classes/Regexp.html
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: Regexp</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">Regexp</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../files/lib/json/add/core_rb.html">
+ lib/json/add/core.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ <a href="Object.html">
+ Object
+ </a>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000051">json_create</a>&nbsp;&nbsp;
+ <a href="#M000052">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Class methods</h3>
+
+ <div id="method-M000051" class="method-detail">
+ <a name="M000051"></a>
+
+ <div class="method-heading">
+ <a href="Regexp.src/M000051.html" target="Code" class="method-signature"
+ onclick="popupCode('Regexp.src/M000051.html');return false;">
+ <span class="method-name">json_create</span><span class="method-args">(object)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000052" class="method-detail">
+ <a name="M000052"></a>
+
+ <div class="method-heading">
+ <a href="Regexp.src/M000052.html" target="Code" class="method-signature"
+ onclick="popupCode('Regexp.src/M000052.html');return false;">
+ <span class="method-name">to_json</span><span class="method-args">(*)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Regexp.src/M000051.html b/doc/classes/Regexp.src/M000051.html
new file mode 100644
index 0000000..45de269
--- /dev/null
+++ b/doc/classes/Regexp.src/M000051.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>json_create (Regexp)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/add/core.rb, line 137</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">json_create</span>(<span class="ruby-identifier">object</span>)
+ <span class="ruby-identifier">new</span>(<span class="ruby-identifier">object</span>[<span class="ruby-value str">'s'</span>], <span class="ruby-identifier">object</span>[<span class="ruby-value str">'o'</span>])
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Regexp.src/M000052.html b/doc/classes/Regexp.src/M000052.html
new file mode 100644
index 0000000..92ab747
--- /dev/null
+++ b/doc/classes/Regexp.src/M000052.html
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (Regexp)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/add/core.rb, line 141</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span>)
+ {
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">create_id</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">name</span>,
+ <span class="ruby-value str">'o'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">options</span>,
+ <span class="ruby-value str">'s'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">source</span>,
+ }.<span class="ruby-identifier">to_json</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Struct.html b/doc/classes/Struct.html
new file mode 100644
index 0000000..3fd9d16
--- /dev/null
+++ b/doc/classes/Struct.html
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: Struct</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">Struct</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../files/lib/json/add/core_rb.html">
+ lib/json/add/core.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ <a href="Object.html">
+ Object
+ </a>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000053">json_create</a>&nbsp;&nbsp;
+ <a href="#M000054">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Class methods</h3>
+
+ <div id="method-M000053" class="method-detail">
+ <a name="M000053"></a>
+
+ <div class="method-heading">
+ <a href="Struct.src/M000053.html" target="Code" class="method-signature"
+ onclick="popupCode('Struct.src/M000053.html');return false;">
+ <span class="method-name">json_create</span><span class="method-args">(object)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000054" class="method-detail">
+ <a name="M000054"></a>
+
+ <div class="method-heading">
+ <a href="Struct.src/M000054.html" target="Code" class="method-signature"
+ onclick="popupCode('Struct.src/M000054.html');return false;">
+ <span class="method-name">to_json</span><span class="method-args">(*args)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Struct.src/M000053.html b/doc/classes/Struct.src/M000053.html
new file mode 100644
index 0000000..30b3851
--- /dev/null
+++ b/doc/classes/Struct.src/M000053.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>json_create (Struct)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/add/core.rb, line 106</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">json_create</span>(<span class="ruby-identifier">object</span>)
+ <span class="ruby-identifier">new</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">object</span>[<span class="ruby-value str">'v'</span>])
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Struct.src/M000054.html b/doc/classes/Struct.src/M000054.html
new file mode 100644
index 0000000..1dab277
--- /dev/null
+++ b/doc/classes/Struct.src/M000054.html
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (Struct)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/add/core.rb, line 110</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
+ <span class="ruby-identifier">klass</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">name</span>
+ <span class="ruby-identifier">klass</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">JSON</span><span class="ruby-operator">::</span><span class="ruby-constant">JSONError</span>, <span class="ruby-value str">&quot;Only named structs are supported!&quot;</span>
+ {
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">create_id</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">klass</span>,
+ <span class="ruby-value str">'v'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">values</span>,
+ }.<span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Symbol.html b/doc/classes/Symbol.html
new file mode 100644
index 0000000..67966c2
--- /dev/null
+++ b/doc/classes/Symbol.html
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: Symbol</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">Symbol</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../files/lib/json/add/rails_rb.html">
+ lib/json/add/rails.rb
+ </a>
+ <br />
+ <a href="../files/lib/json/add/core_rb.html">
+ lib/json/add/core.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ <a href="Object.html">
+ Object
+ </a>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000060">json_create</a>&nbsp;&nbsp;
+ <a href="#M000059">to_json</a>&nbsp;&nbsp;
+ <a href="#M000058">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Class methods</h3>
+
+ <div id="method-M000060" class="method-detail">
+ <a name="M000060"></a>
+
+ <div class="method-heading">
+ <a href="Symbol.src/M000060.html" target="Code" class="method-signature"
+ onclick="popupCode('Symbol.src/M000060.html');return false;">
+ <span class="method-name">json_create</span><span class="method-args">(o)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000059" class="method-detail">
+ <a name="M000059"></a>
+
+ <div class="method-heading">
+ <a href="Symbol.src/M000059.html" target="Code" class="method-signature"
+ onclick="popupCode('Symbol.src/M000059.html');return false;">
+ <span class="method-name">to_json</span><span class="method-args">(*a)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+ <div id="method-M000058" class="method-detail">
+ <a name="M000058"></a>
+
+ <div class="method-heading">
+ <a href="Symbol.src/M000058.html" target="Code" class="method-signature"
+ onclick="popupCode('Symbol.src/M000058.html');return false;">
+ <span class="method-name">to_json</span><span class="method-args">(*a)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Symbol.src/M000058.html b/doc/classes/Symbol.src/M000058.html
new file mode 100644
index 0000000..e18b450
--- /dev/null
+++ b/doc/classes/Symbol.src/M000058.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (Symbol)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/add/rails.rb, line 32</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">a</span>)
+ <span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">a</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Symbol.src/M000059.html b/doc/classes/Symbol.src/M000059.html
new file mode 100644
index 0000000..a6c20af
--- /dev/null
+++ b/doc/classes/Symbol.src/M000059.html
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (Symbol)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/add/core.rb, line 11</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">a</span>)
+ {
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">create_id</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">name</span>,
+ <span class="ruby-value str">'s'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">to_s</span>,
+ }.<span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">a</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Symbol.src/M000060.html b/doc/classes/Symbol.src/M000060.html
new file mode 100644
index 0000000..dd88271
--- /dev/null
+++ b/doc/classes/Symbol.src/M000060.html
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>json_create (Symbol)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/add/core.rb, line 18</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">json_create</span>(<span class="ruby-identifier">o</span>)
+ <span class="ruby-identifier">o</span>[<span class="ruby-value str">'s'</span>].<span class="ruby-identifier">to_sym</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Time.html b/doc/classes/Time.html
new file mode 100644
index 0000000..2e2d86a
--- /dev/null
+++ b/doc/classes/Time.html
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Class: Time</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="classHeader">
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Class</strong></td>
+ <td class="class-name-in-header">Time</td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>In:</strong></td>
+ <td>
+ <a href="../files/lib/json/add/core_rb.html">
+ lib/json/add/core.rb
+ </a>
+ <br />
+ </td>
+ </tr>
+
+ <tr class="top-aligned-row">
+ <td><strong>Parent:</strong></td>
+ <td>
+ <a href="Object.html">
+ Object
+ </a>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000056">json_create</a>&nbsp;&nbsp;
+ <a href="#M000057">to_json</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Class methods</h3>
+
+ <div id="method-M000056" class="method-detail">
+ <a name="M000056"></a>
+
+ <div class="method-heading">
+ <a href="Time.src/M000056.html" target="Code" class="method-signature"
+ onclick="popupCode('Time.src/M000056.html');return false;">
+ <span class="method-name">json_create</span><span class="method-args">(object)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+ <h3 class="section-bar">Public Instance methods</h3>
+
+ <div id="method-M000057" class="method-detail">
+ <a name="M000057"></a>
+
+ <div class="method-heading">
+ <a href="Time.src/M000057.html" target="Code" class="method-signature"
+ onclick="popupCode('Time.src/M000057.html');return false;">
+ <span class="method-name">to_json</span><span class="method-args">(*args)</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Time.src/M000056.html b/doc/classes/Time.src/M000056.html
new file mode 100644
index 0000000..a727ae6
--- /dev/null
+++ b/doc/classes/Time.src/M000056.html
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>json_create (Time)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/add/core.rb, line 24</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">json_create</span>(<span class="ruby-identifier">object</span>)
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">usec</span> = <span class="ruby-identifier">object</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">'u'</span>) <span class="ruby-comment cmt"># used to be tv_usec -&gt; tv_nsec</span>
+ <span class="ruby-identifier">object</span>[<span class="ruby-value str">'n'</span>] = <span class="ruby-identifier">usec</span> <span class="ruby-operator">*</span> <span class="ruby-value">1000</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:tv_nsec</span>)
+ <span class="ruby-identifier">at</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">object</span>.<span class="ruby-identifier">values_at</span>(<span class="ruby-value str">'s'</span>, <span class="ruby-value str">'n'</span>))
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">at</span>(<span class="ruby-identifier">object</span>[<span class="ruby-value str">'s'</span>], <span class="ruby-identifier">object</span>[<span class="ruby-value str">'n'</span>] <span class="ruby-operator">/</span> <span class="ruby-value">1000</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/classes/Time.src/M000057.html b/doc/classes/Time.src/M000057.html
new file mode 100644
index 0000000..0201a1a
--- /dev/null
+++ b/doc/classes/Time.src/M000057.html
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>to_json (Time)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/add/core.rb, line 35</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
+ {
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">create_id</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">name</span>,
+ <span class="ruby-value str">'s'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">tv_sec</span>,
+ <span class="ruby-value str">'n'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:tv_nsec</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">tv_nsec</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">tv_usec</span> <span class="ruby-operator">*</span> <span class="ruby-value">1000</span>
+ }.<span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/created.rid b/doc/created.rid
new file mode 100644
index 0000000..8493c40
--- /dev/null
+++ b/doc/created.rid
@@ -0,0 +1 @@
+Fri, 26 Feb 2010 22:50:34 +0100
diff --git a/doc/files/README.html b/doc/files/README.html
new file mode 100644
index 0000000..7690d58
--- /dev/null
+++ b/doc/files/README.html
@@ -0,0 +1,593 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>File: README</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="fileHeader">
+ <h1>README</h1>
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Path:</strong></td>
+ <td>README
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Fri Feb 26 22:50:32 +0100 2010</td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="description">
+ <h2>Description</h2>
+<p>
+This is a implementation of the <a href="../classes/JSON.html">JSON</a>
+specification according to RFC 4627 <a
+href="http://www.ietf.org/rfc/rfc4627.txt">www.ietf.org/rfc/rfc4627.txt</a>
+. Starting from version 1.0.0 on there will be two variants available:
+</p>
+<ul>
+<li>A pure ruby variant, that relies on the iconv and the stringscan
+extensions, which are both part of the ruby standard library.
+
+</li>
+<li>The quite a bit faster C extension variant, which is in parts implemented
+in C and comes with its own unicode conversion functions and a parser
+generated by the ragel state machine compiler <a
+href="http://www.cs.queensu.ca/~thurston/ragel">www.cs.queensu.ca/~thurston/ragel</a>
+.
+
+</li>
+</ul>
+<p>
+Both variants of the <a href="../classes/JSON.html">JSON</a> generator
+escape all non-ASCII and control characters with \uXXXX escape sequences,
+and support UTF-16 surrogate pairs in order to be able to generate the
+whole range of unicode code points. This means that generated <a
+href="../classes/JSON.html">JSON</a> document is encoded as UTF-8 (because
+ASCII is a subset of UTF-8) and at the same time avoids decoding problems
+for receiving endpoints, that don&#8216;t expect UTF-8 encoded texts. On
+the negative side this may lead to a bit longer strings than necessarry.
+</p>
+<p>
+All strings, that are to be encoded as <a
+href="../classes/JSON.html">JSON</a> strings, should be UTF-8 byte
+sequences on the Ruby side. To encode raw binary strings, that aren&#8216;t
+UTF-8 encoded, please use the to_json_raw_object method of String (which
+produces an object, that contains a byte array) and decode the result on
+the receiving endpoint.
+</p>
+<p>
+The <a href="../classes/JSON.html">JSON</a> parsers can parse UTF-8,
+UTF-16BE, UTF-16LE, UTF-32BE, and UTF-32LE <a
+href="../classes/JSON.html">JSON</a> documents under Ruby 1.8. Under Ruby
+1.9 they take advantage of Ruby&#8216;s M17n features and can parse all
+documents which have the correct String#encoding set. If a document string
+has ASCII-8BIT as an encoding the parser attempts to figure out which of
+the UTF encodings from above it is and trys to parse it.
+</p>
+<h2>Installation</h2>
+<p>
+It&#8216;s recommended to use the extension variant of <a
+href="../classes/JSON.html">JSON</a>, because it&#8216;s faster than the
+pure ruby variant. If you cannot build it on your system, you can settle
+for the latter.
+</p>
+<p>
+Just type into the command line as root:
+</p>
+<pre>
+ # rake install
+</pre>
+<p>
+The above command will build the extensions and install them on your
+system.
+</p>
+<pre>
+ # rake install_pure
+</pre>
+<p>
+or
+</p>
+<pre>
+ # ruby install.rb
+</pre>
+<p>
+will just install the pure ruby implementation of <a
+href="../classes/JSON.html">JSON</a>.
+</p>
+<p>
+If you use Rubygems you can type
+</p>
+<pre>
+ # gem install json
+</pre>
+<p>
+instead, to install the newest <a href="../classes/JSON.html">JSON</a>
+version.
+</p>
+<p>
+There is also a pure ruby json only variant of the gem, that can be
+installed with:
+</p>
+<pre>
+ # gem install json_pure
+</pre>
+<h2>Compiling the extensions yourself</h2>
+<p>
+If you want to build the extensions yourself you need rake:
+</p>
+<pre>
+ You can get it from rubyforge:
+ http://rubyforge.org/projects/rake
+
+ or just type
+
+ # gem install rake
+
+ for the installation via rubygems.
+</pre>
+<p>
+If you want to create the parser.c file from its parser.rl file or draw
+nice graphviz images of the state machines, you need ragel from: <a
+href="http://www.cs.queensu.ca/~thurston/ragel">www.cs.queensu.ca/~thurston/ragel</a>
+</p>
+<h2>Usage</h2>
+<p>
+To use <a href="../classes/JSON.html">JSON</a> you can
+</p>
+<pre>
+ require 'json'
+</pre>
+<p>
+to load the installed variant (either the extension &#8216;json&#8217; or
+the pure variant &#8216;json_pure&#8217;). If you have installed the
+extension variant, you can pick either the extension variant or the pure
+variant by typing
+</p>
+<pre>
+ require 'json/ext'
+</pre>
+<p>
+or
+</p>
+<pre>
+ require 'json/pure'
+</pre>
+<p>
+Now you can parse a <a href="../classes/JSON.html">JSON</a> document into a
+ruby data structure by calling
+</p>
+<pre>
+ JSON.parse(document)
+</pre>
+<p>
+If you want to generate a <a href="../classes/JSON.html">JSON</a> document
+from a ruby data structure call
+</p>
+<pre>
+ JSON.generate(data)
+</pre>
+<p>
+You can also use the pretty_generate method (which formats the output more
+verbosely and nicely) or fast_generate (which doesn&#8216;t do any of the
+security checks generate performs, e. g. nesting deepness checks).
+</p>
+<p>
+To create a valid <a href="../classes/JSON.html">JSON</a> document you have
+to make sure, that the output is embedded in either a <a
+href="../classes/JSON.html">JSON</a> array [] or a <a
+href="../classes/JSON.html">JSON</a> object {}. The easiest way to do this,
+is by putting your values in a Ruby Array or Hash instance.
+</p>
+<p>
+There are also the <a href="../classes/JSON.html">JSON</a> and <a
+href="../classes/JSON.html">JSON</a>[] methods which use parse on a String
+or generate a <a href="../classes/JSON.html">JSON</a> document from an
+array or hash:
+</p>
+<pre>
+ document = JSON 'test' =&gt; 23 # =&gt; &quot;{\&quot;test\&quot;:23}&quot;
+ document = JSON['test'] =&gt; 23 # =&gt; &quot;{\&quot;test\&quot;:23}&quot;
+</pre>
+<p>
+and
+</p>
+<pre>
+ data = JSON '{&quot;test&quot;:23}' # =&gt; {&quot;test&quot;=&gt;23}
+ data = JSON['{&quot;test&quot;:23}'] # =&gt; {&quot;test&quot;=&gt;23}
+</pre>
+<p>
+You can choose to load a set of common additions to ruby core&#8216;s
+objects if you
+</p>
+<pre>
+ require 'json/add/core'
+</pre>
+<p>
+After requiring this you can, e. g., serialise/deserialise Ruby ranges:
+</p>
+<pre>
+ JSON JSON(1..10) # =&gt; 1..10
+</pre>
+<p>
+To find out how to add <a href="../classes/JSON.html">JSON</a> support to
+other or your own classes, read the section &quot;More Examples&quot;
+below.
+</p>
+<p>
+To get the best compatibility to rails&#8217; <a
+href="../classes/JSON.html">JSON</a> implementation, you can
+</p>
+<pre>
+ require 'json/add/rails'
+</pre>
+<p>
+Both of the additions attempt to require &#8216;json&#8217; (like above)
+first, if it has not been required yet.
+</p>
+<h2>More Examples</h2>
+<p>
+To create a <a href="../classes/JSON.html">JSON</a> document from a ruby
+data structure, you can call <a
+href="../classes/JSON.html#M000098">JSON.generate</a> like that:
+</p>
+<pre>
+ json = JSON.generate [1, 2, {&quot;a&quot;=&gt;3.141}, false, true, nil, 4..10]
+ # =&gt; &quot;[1,2,{\&quot;a\&quot;:3.141},false,true,null,\&quot;4..10\&quot;]&quot;
+</pre>
+<p>
+To get back a ruby data structure from a <a
+href="../classes/JSON.html">JSON</a> document, you have to call <a
+href="../classes/JSON.html#M000096">JSON.parse</a> on it:
+</p>
+<pre>
+ JSON.parse json
+ # =&gt; [1, 2, {&quot;a&quot;=&gt;3.141}, false, true, nil, &quot;4..10&quot;]
+</pre>
+<p>
+Note, that the range from the original data structure is a simple string
+now. The reason for this is, that <a href="../classes/JSON.html">JSON</a>
+doesn&#8216;t support ranges or arbitrary classes. In this case the json
+library falls back to call <a
+href="../classes/Object.html#M000013">Object#to_json</a>, which is the same
+as to_s.to_json.
+</p>
+<p>
+It&#8216;s possible to add <a href="../classes/JSON.html">JSON</a> support
+serialization to arbitrary classes by simply implementing a more
+specialized version of the to_json method, that should return a <a
+href="../classes/JSON.html">JSON</a> object (a hash converted to <a
+href="../classes/JSON.html">JSON</a> with to_json) like this (don&#8216;t
+forget the *a for all the arguments):
+</p>
+<pre>
+ class Range
+ def to_json(*a)
+ {
+ 'json_class' =&gt; self.class.name, # = 'Range'
+ 'data' =&gt; [ first, last, exclude_end? ]
+ }.to_json(*a)
+ end
+ end
+</pre>
+<p>
+The hash key &#8216;json_class&#8217; is the class, that will be asked to
+deserialise the <a href="../classes/JSON.html">JSON</a> representation
+later. In this case it&#8216;s &#8216;<a
+href="../classes/Range.html">Range</a>&#8217;, but any namespace of the
+form &#8216;A::B&#8217; or &#8217;::A::B&#8217; will do. All other keys are
+arbitrary and can be used to store the necessary data to configure the
+object to be deserialised.
+</p>
+<p>
+If a the key &#8216;json_class&#8217; is found in a <a
+href="../classes/JSON.html">JSON</a> object, the <a
+href="../classes/JSON.html">JSON</a> parser checks if the given class
+responds to the json_create class method. If so, it is called with the <a
+href="../classes/JSON.html">JSON</a> object converted to a Ruby hash. So a
+range can be deserialised by implementing <a
+href="../classes/Range.html#M000073">Range.json_create</a> like this:
+</p>
+<pre>
+ class Range
+ def self.json_create(o)
+ new(*o['data'])
+ end
+ end
+</pre>
+<p>
+Now it possible to serialise/deserialise ranges as well:
+</p>
+<pre>
+ json = JSON.generate [1, 2, {&quot;a&quot;=&gt;3.141}, false, true, nil, 4..10]
+ # =&gt; &quot;[1,2,{\&quot;a\&quot;:3.141},false,true,null,{\&quot;json_class\&quot;:\&quot;Range\&quot;,\&quot;data\&quot;:[4,10,false]}]&quot;
+ JSON.parse json
+ # =&gt; [1, 2, {&quot;a&quot;=&gt;3.141}, false, true, nil, 4..10]
+</pre>
+<p>
+<a href="../classes/JSON.html#M000098">JSON.generate</a> always creates the
+shortest possible string representation of a ruby data structure in one
+line. This is good for data storage or network protocols, but not so good
+for humans to read. Fortunately there&#8216;s also <a
+href="../classes/JSON.html#M000100">JSON.pretty_generate</a> (or <a
+href="../classes/JSON.html#M000100">JSON.pretty_generate</a>) that creates
+a more readable output:
+</p>
+<pre>
+ puts JSON.pretty_generate([1, 2, {&quot;a&quot;=&gt;3.141}, false, true, nil, 4..10])
+ [
+ 1,
+ 2,
+ {
+ &quot;a&quot;: 3.141
+ },
+ false,
+ true,
+ null,
+ {
+ &quot;json_class&quot;: &quot;Range&quot;,
+ &quot;data&quot;: [
+ 4,
+ 10,
+ false
+ ]
+ }
+ ]
+</pre>
+<p>
+There are also the methods Kernel#j for generate, and Kernel#jj for
+pretty_generate output to the console, that work analogous to Core
+Ruby&#8216;s p and the pp library&#8216;s pp methods.
+</p>
+<p>
+The script tools/server.rb contains a small example if you want to test,
+how receiving a <a href="../classes/JSON.html">JSON</a> object from a
+webrick server in your browser with the javasript prototype library <a
+href="http://www.prototypejs.org">www.prototypejs.org</a> works.
+</p>
+<h2>Speed Comparisons</h2>
+<p>
+I have created some benchmark results (see the benchmarks/data-p4-3Ghz
+subdir of the package) for the <a
+href="../classes/JSON.html">JSON</a>-parser to estimate the speed up in the
+C extension:
+</p>
+<pre>
+ Comparing times (call_time_mean):
+ 1 ParserBenchmarkExt#parser 900 repeats:
+ 553.922304770 ( real) -&gt; 21.500x
+ 0.001805307
+ 2 ParserBenchmarkYAML#parser 1000 repeats:
+ 224.513358139 ( real) -&gt; 8.714x
+ 0.004454078
+ 3 ParserBenchmarkPure#parser 1000 repeats:
+ 26.755020642 ( real) -&gt; 1.038x
+ 0.037376163
+ 4 ParserBenchmarkRails#parser 1000 repeats:
+ 25.763381731 ( real) -&gt; 1.000x
+ 0.038814780
+ calls/sec ( time) -&gt; speed covers
+ secs/call
+</pre>
+<p>
+In the table above 1 is <a
+href="../classes/JSON/Ext/Parser.html">JSON::Ext::Parser</a>, 2 is
+YAML.load with YAML compatbile <a href="../classes/JSON.html">JSON</a>
+document, 3 is is <a
+href="../classes/JSON/Pure/Parser.html">JSON::Pure::Parser</a>, and 4 is
+ActiveSupport::JSON.decode. The ActiveSupport <a
+href="../classes/JSON.html">JSON</a>-decoder converts the input first to
+YAML and then uses the YAML-parser, the conversion seems to slow it down so
+much that it is only as fast as the <a
+href="../classes/JSON/Pure/Parser.html">JSON::Pure::Parser</a>!
+</p>
+<p>
+If you look at the benchmark data you can see that this is mostly caused by
+the frequent high outliers - the median of the Rails-parser runs is still
+overall smaller than the median of the <a
+href="../classes/JSON/Pure/Parser.html">JSON::Pure::Parser</a> runs:
+</p>
+<pre>
+ Comparing times (call_time_median):
+ 1 ParserBenchmarkExt#parser 900 repeats:
+ 800.592479481 ( real) -&gt; 26.936x
+ 0.001249075
+ 2 ParserBenchmarkYAML#parser 1000 repeats:
+ 271.002390644 ( real) -&gt; 9.118x
+ 0.003690004
+ 3 ParserBenchmarkRails#parser 1000 repeats:
+ 30.227910865 ( real) -&gt; 1.017x
+ 0.033082008
+ 4 ParserBenchmarkPure#parser 1000 repeats:
+ 29.722384421 ( real) -&gt; 1.000x
+ 0.033644676
+ calls/sec ( time) -&gt; speed covers
+ secs/call
+</pre>
+<p>
+I have benchmarked the <a href="../classes/JSON.html">JSON</a>-Generator as
+well. This generated a few more values, because there are different modes
+that also influence the achieved speed:
+</p>
+<pre>
+ Comparing times (call_time_mean):
+ 1 GeneratorBenchmarkExt#generator_fast 1000 repeats:
+ 547.354332608 ( real) -&gt; 15.090x
+ 0.001826970
+ 2 GeneratorBenchmarkExt#generator_safe 1000 repeats:
+ 443.968212317 ( real) -&gt; 12.240x
+ 0.002252414
+ 3 GeneratorBenchmarkExt#generator_pretty 900 repeats:
+ 375.104545883 ( real) -&gt; 10.341x
+ 0.002665923
+ 4 GeneratorBenchmarkPure#generator_fast 1000 repeats:
+ 49.978706968 ( real) -&gt; 1.378x
+ 0.020008521
+ 5 GeneratorBenchmarkRails#generator 1000 repeats:
+ 38.531868759 ( real) -&gt; 1.062x
+ 0.025952543
+ 6 GeneratorBenchmarkPure#generator_safe 1000 repeats:
+ 36.927649925 ( real) -&gt; 1.018x 7 (&gt;=3859)
+ 0.027079979
+ 7 GeneratorBenchmarkPure#generator_pretty 1000 repeats:
+ 36.272134441 ( real) -&gt; 1.000x 6 (&gt;=3859)
+ 0.027569373
+ calls/sec ( time) -&gt; speed covers
+ secs/call
+</pre>
+<p>
+In the table above 1-3 are <a
+href="../classes/JSON/Ext/Generator.html">JSON::Ext::Generator</a> methods.
+4, 6, and 7 are <a
+href="../classes/JSON/Pure/Generator.html">JSON::Pure::Generator</a>
+methods and 5 is the Rails <a href="../classes/JSON.html">JSON</a>
+generator. It is now a bit faster than the generator_safe and
+generator_pretty methods of the pure variant but slower than the others.
+</p>
+<p>
+To achieve the fastest <a href="../classes/JSON.html">JSON</a> document
+output, you can use the fast_generate method. Beware, that this will
+disable the checking for circular Ruby data structures, which may cause <a
+href="../classes/JSON.html">JSON</a> to go into an infinite loop.
+</p>
+<p>
+Here are the median comparisons for completeness&#8217; sake:
+</p>
+<pre>
+ Comparing times (call_time_median):
+ 1 GeneratorBenchmarkExt#generator_fast 1000 repeats:
+ 708.258020939 ( real) -&gt; 16.547x
+ 0.001411915
+ 2 GeneratorBenchmarkExt#generator_safe 1000 repeats:
+ 569.105020353 ( real) -&gt; 13.296x
+ 0.001757145
+ 3 GeneratorBenchmarkExt#generator_pretty 900 repeats:
+ 482.825371244 ( real) -&gt; 11.280x
+ 0.002071142
+ 4 GeneratorBenchmarkPure#generator_fast 1000 repeats:
+ 62.717626652 ( real) -&gt; 1.465x
+ 0.015944481
+ 5 GeneratorBenchmarkRails#generator 1000 repeats:
+ 43.965681162 ( real) -&gt; 1.027x
+ 0.022745013
+ 6 GeneratorBenchmarkPure#generator_safe 1000 repeats:
+ 43.929073409 ( real) -&gt; 1.026x 7 (&gt;=3859)
+ 0.022763968
+ 7 GeneratorBenchmarkPure#generator_pretty 1000 repeats:
+ 42.802514491 ( real) -&gt; 1.000x 6 (&gt;=3859)
+ 0.023363113
+ calls/sec ( time) -&gt; speed covers
+ secs/call
+</pre>
+<h2>Author</h2>
+<p>
+Florian Frank &lt;<a href="mailto:flori@ping.de">flori@ping.de</a>&gt;
+</p>
+<h2>License</h2>
+<p>
+Ruby License, see the COPYING file included in the source distribution. The
+Ruby License includes the GNU General Public License (GPL), Version 2, so
+see the file GPL as well.
+</p>
+<h2>Download</h2>
+<p>
+The latest version of this library can be downloaded at
+</p>
+<ul>
+<li><a
+href="http://rubyforge.org/frs?group_id=953">rubyforge.org/frs?group_id=953</a>
+
+</li>
+</ul>
+<p>
+Online Documentation should be located at
+</p>
+<ul>
+<li><a href="http://json.rubyforge.org">json.rubyforge.org</a>
+
+</li>
+</ul>
+
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/files/ext/json/ext/generator_c.html b/doc/files/ext/json/ext/generator_c.html
new file mode 100644
index 0000000..0cb27cf
--- /dev/null
+++ b/doc/files/ext/json/ext/generator_c.html
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>File: generator.c</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="fileHeader">
+ <h1>generator.c</h1>
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Path:</strong></td>
+ <td>ext/json/ext/generator.c
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Fri Feb 26 22:50:33 +0100 2010</td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/files/ext/json/ext/parser_c.html b/doc/files/ext/json/ext/parser_c.html
new file mode 100644
index 0000000..d07ac35
--- /dev/null
+++ b/doc/files/ext/json/ext/parser_c.html
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>File: parser.c</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="fileHeader">
+ <h1>parser.c</h1>
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Path:</strong></td>
+ <td>ext/json/ext/parser.c
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Fri Feb 26 22:50:33 +0100 2010</td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/files/lib/json/add/core_rb.html b/doc/files/lib/json/add/core_rb.html
new file mode 100644
index 0000000..96ab488
--- /dev/null
+++ b/doc/files/lib/json/add/core_rb.html
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>File: core.rb</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="fileHeader">
+ <h1>core.rb</h1>
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Path:</strong></td>
+ <td>lib/json/add/core.rb
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Fri Feb 26 22:50:33 +0100 2010</td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="description">
+ <p>
+This file contains implementations of ruby core&#8216;s custom objects for
+serialisation/deserialisation.
+</p>
+
+ </div>
+
+ <div id="requires-list">
+ <h3 class="section-bar">Required files</h3>
+
+ <div class="name-list">
+ json&nbsp;&nbsp;
+ date&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/files/lib/json/add/rails_rb.html b/doc/files/lib/json/add/rails_rb.html
new file mode 100644
index 0000000..aeb7eef
--- /dev/null
+++ b/doc/files/lib/json/add/rails_rb.html
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>File: rails.rb</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="fileHeader">
+ <h1>rails.rb</h1>
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Path:</strong></td>
+ <td>lib/json/add/rails.rb
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Fri Feb 26 22:50:33 +0100 2010</td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="description">
+ <p>
+This file contains implementations of rails custom objects for
+serialisation/deserialisation.
+</p>
+
+ </div>
+
+ <div id="requires-list">
+ <h3 class="section-bar">Required files</h3>
+
+ <div class="name-list">
+ json&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/files/lib/json/common_rb.html b/doc/files/lib/json/common_rb.html
new file mode 100644
index 0000000..c9071f7
--- /dev/null
+++ b/doc/files/lib/json/common_rb.html
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>File: common.rb</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="fileHeader">
+ <h1>common.rb</h1>
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Path:</strong></td>
+ <td>lib/json/common.rb
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Fri Feb 26 22:50:33 +0100 2010</td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+ <div id="requires-list">
+ <h3 class="section-bar">Required files</h3>
+
+ <div class="name-list">
+ json/version&nbsp;&nbsp;
+ iconv&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/files/lib/json/editor_rb.html b/doc/files/lib/json/editor_rb.html
new file mode 100644
index 0000000..8fde075
--- /dev/null
+++ b/doc/files/lib/json/editor_rb.html
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>File: editor.rb</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="fileHeader">
+ <h1>editor.rb</h1>
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Path:</strong></td>
+ <td>lib/json/editor.rb
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Fri Feb 26 22:50:33 +0100 2010</td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+ <div id="description">
+ <p>
+To use the GUI <a href="../../../classes/JSON.html">JSON</a> editor, <a
+href="editor_rb.html#M000001">start</a> the edit_json.rb executable script.
+It requires ruby-gtk to be installed.
+</p>
+
+ </div>
+
+ <div id="requires-list">
+ <h3 class="section-bar">Required files</h3>
+
+ <div class="name-list">
+ gtk2&nbsp;&nbsp;
+ iconv&nbsp;&nbsp;
+ json&nbsp;&nbsp;
+ rbconfig&nbsp;&nbsp;
+ open-uri&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+ <div id="method-list">
+ <h3 class="section-bar">Methods</h3>
+
+ <div class="name-list">
+ <a href="#M000002">edit</a>&nbsp;&nbsp;
+ <a href="#M000001">start</a>&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+ <div id="methods">
+ <h3 class="section-bar">Public Class methods</h3>
+
+ <div id="method-M000002" class="method-detail">
+ <a name="M000002"></a>
+
+ <div class="method-heading">
+ <a href="editor_rb.src/M000002.html" target="Code" class="method-signature"
+ onclick="popupCode('editor_rb.src/M000002.html');return false;">
+ <span class="method-name">edit</span><span class="method-args">(json, encoding = 'utf8')</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Edit the string <em>json</em> with encoding <em>encoding</em> in the
+editor.
+</p>
+ </div>
+ </div>
+
+ <div id="method-M000001" class="method-detail">
+ <a name="M000001"></a>
+
+ <div class="method-heading">
+ <a href="editor_rb.src/M000001.html" target="Code" class="method-signature"
+ onclick="popupCode('editor_rb.src/M000001.html');return false;">
+ <span class="method-name">start</span><span class="method-args">(encoding = 'utf8') {|window| ...}</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Starts a <a href="../../../classes/JSON.html">JSON</a> <a
+href="../../../classes/Editor.html">Editor</a>. If a block was given, it
+yields to the <a
+href="../../../classes/MainWindow.html">JSON::Editor::MainWindow</a>
+instance.
+</p>
+ </div>
+ </div>
+
+
+ </div>
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/files/lib/json/editor_rb.src/M000001.html b/doc/files/lib/json/editor_rb.src/M000001.html
new file mode 100644
index 0000000..35f0fe6
--- /dev/null
+++ b/doc/files/lib/json/editor_rb.src/M000001.html
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>start (lib/json/editor.rb)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 1352</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">start</span>(<span class="ruby-identifier">encoding</span> = <span class="ruby-value str">'utf8'</span>) <span class="ruby-comment cmt"># :yield: window</span>
+ <span class="ruby-constant">Gtk</span>.<span class="ruby-identifier">init</span>
+ <span class="ruby-ivar">@window</span> = <span class="ruby-constant">Editor</span><span class="ruby-operator">::</span><span class="ruby-constant">MainWindow</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">encoding</span>)
+ <span class="ruby-ivar">@window</span>.<span class="ruby-identifier">icon_list</span> = [ <span class="ruby-constant">Editor</span>.<span class="ruby-identifier">fetch_icon</span>(<span class="ruby-value str">'json'</span>) ]
+ <span class="ruby-keyword kw">yield</span> <span class="ruby-ivar">@window</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
+ <span class="ruby-ivar">@window</span>.<span class="ruby-identifier">show_all</span>
+ <span class="ruby-constant">Gtk</span>.<span class="ruby-identifier">main</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/files/lib/json/editor_rb.src/M000002.html b/doc/files/lib/json/editor_rb.src/M000002.html
new file mode 100644
index 0000000..8757e5c
--- /dev/null
+++ b/doc/files/lib/json/editor_rb.src/M000002.html
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+ <title>edit (lib/json/editor.rb)</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
+</head>
+<body class="standalone-code">
+ <pre><span class="ruby-comment cmt"># File lib/json/editor.rb, line 1362</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">edit</span>(<span class="ruby-identifier">json</span>, <span class="ruby-identifier">encoding</span> = <span class="ruby-value str">'utf8'</span>)
+ <span class="ruby-identifier">start</span>(<span class="ruby-identifier">encoding</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">window</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">window</span>.<span class="ruby-identifier">edit</span> <span class="ruby-identifier">json</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span></pre>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/files/lib/json/ext_rb.html b/doc/files/lib/json/ext_rb.html
new file mode 100644
index 0000000..a0272ed
--- /dev/null
+++ b/doc/files/lib/json/ext_rb.html
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>File: ext.rb</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="fileHeader">
+ <h1>ext.rb</h1>
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Path:</strong></td>
+ <td>lib/json/ext.rb
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Fri Feb 26 22:50:33 +0100 2010</td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+ <div id="requires-list">
+ <h3 class="section-bar">Required files</h3>
+
+ <div class="name-list">
+ json/common&nbsp;&nbsp;
+ json/ext/parser&nbsp;&nbsp;
+ json/ext/generator&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/files/lib/json/pure/generator_rb.html b/doc/files/lib/json/pure/generator_rb.html
new file mode 100644
index 0000000..0aafb07
--- /dev/null
+++ b/doc/files/lib/json/pure/generator_rb.html
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>File: generator.rb</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="fileHeader">
+ <h1>generator.rb</h1>
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Path:</strong></td>
+ <td>lib/json/pure/generator.rb
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Fri Feb 26 22:50:33 +0100 2010</td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/files/lib/json/pure/parser_rb.html b/doc/files/lib/json/pure/parser_rb.html
new file mode 100644
index 0000000..5d6274a
--- /dev/null
+++ b/doc/files/lib/json/pure/parser_rb.html
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>File: parser.rb</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="fileHeader">
+ <h1>parser.rb</h1>
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Path:</strong></td>
+ <td>lib/json/pure/parser.rb
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Fri Feb 26 22:50:33 +0100 2010</td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+ <div id="requires-list">
+ <h3 class="section-bar">Required files</h3>
+
+ <div class="name-list">
+ strscan&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/files/lib/json/pure_rb.html b/doc/files/lib/json/pure_rb.html
new file mode 100644
index 0000000..6daaaa2
--- /dev/null
+++ b/doc/files/lib/json/pure_rb.html
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>File: pure.rb</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="fileHeader">
+ <h1>pure.rb</h1>
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Path:</strong></td>
+ <td>lib/json/pure.rb
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Fri Feb 26 22:50:33 +0100 2010</td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+ <div id="requires-list">
+ <h3 class="section-bar">Required files</h3>
+
+ <div class="name-list">
+ json/common&nbsp;&nbsp;
+ json/pure/parser&nbsp;&nbsp;
+ json/pure/generator&nbsp;&nbsp;
+ iconv&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/files/lib/json/version_rb.html b/doc/files/lib/json/version_rb.html
new file mode 100644
index 0000000..994040d
--- /dev/null
+++ b/doc/files/lib/json/version_rb.html
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>File: version.rb</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="fileHeader">
+ <h1>version.rb</h1>
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Path:</strong></td>
+ <td>lib/json/version.rb
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Fri Feb 26 22:50:34 +0100 2010</td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/files/lib/json_rb.html b/doc/files/lib/json_rb.html
new file mode 100644
index 0000000..1854c13
--- /dev/null
+++ b/doc/files/lib/json_rb.html
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>File: json.rb</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+ <script type="text/javascript">
+ // <![CDATA[
+
+ function popupCode( url ) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode( id ) {
+ if ( document.getElementById )
+ elem = document.getElementById( id );
+ else if ( document.all )
+ elem = eval( "document.all." + id );
+ else
+ return false;
+
+ elemStyle = elem.style;
+
+ if ( elemStyle.display != "block" ) {
+ elemStyle.display = "block"
+ } else {
+ elemStyle.display = "none"
+ }
+
+ return true;
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+
+ // ]]>
+ </script>
+
+</head>
+<body>
+
+
+
+ <div id="fileHeader">
+ <h1>json.rb</h1>
+ <table class="header-table">
+ <tr class="top-aligned-row">
+ <td><strong>Path:</strong></td>
+ <td>lib/json.rb
+ </td>
+ </tr>
+ <tr class="top-aligned-row">
+ <td><strong>Last Update:</strong></td>
+ <td>Fri Feb 26 22:50:33 +0100 2010</td>
+ </tr>
+ </table>
+ </div>
+ <!-- banner header -->
+
+ <div id="bodyContent">
+
+
+
+ <div id="contextContent">
+
+
+ <div id="requires-list">
+ <h3 class="section-bar">Required files</h3>
+
+ <div class="name-list">
+ json/common&nbsp;&nbsp;
+ json/version&nbsp;&nbsp;
+ json/ext&nbsp;&nbsp;
+ json/pure&nbsp;&nbsp;
+ </div>
+ </div>
+
+ </div>
+
+
+ </div>
+
+
+ <!-- if includes -->
+
+ <div id="section">
+
+
+
+
+
+
+
+
+ <!-- if method_list -->
+
+
+ </div>
+
+
+<div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html> \ No newline at end of file
diff --git a/doc/fr_class_index.html b/doc/fr_class_index.html
new file mode 100644
index 0000000..796c088
--- /dev/null
+++ b/doc/fr_class_index.html
@@ -0,0 +1,85 @@
+
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<!--
+
+ Classes
+
+ -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Classes</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="rdoc-style.css" type="text/css" />
+ <base target="docwin" />
+</head>
+<body>
+<div id="index">
+ <h1 class="section-bar">Classes</h1>
+ <div id="index-entries">
+ <a href="classes/.html"></a><br />
+ <a href="classes/Class.html">Class</a><br />
+ <a href="classes/Date.html">Date</a><br />
+ <a href="classes/DateTime.html">DateTime</a><br />
+ <a href="classes/EditMenu.html">EditMenu</a><br />
+ <a href="classes/Editor.html">Editor</a><br />
+ <a href="classes/Enumerable.html">Enumerable</a><br />
+ <a href="classes/Exception.html">Exception</a><br />
+ <a href="classes/FileMenu.html">FileMenu</a><br />
+ <a href="classes/Gtk.html">Gtk</a><br />
+ <a href="classes/Gtk/TreeIter.html">Gtk::TreeIter</a><br />
+ <a href="classes/JSON.html">JSON</a><br />
+ <a href="classes/JSON/Editor.html">JSON::Editor</a><br />
+ <a href="classes/JSON/Ext.html">JSON::Ext</a><br />
+ <a href="classes/JSON/Ext/Generator.html">JSON::Ext::Generator</a><br />
+ <a href="classes/JSON/Ext/Generator/GeneratorMethods.html">JSON::Ext::Generator::GeneratorMethods</a><br />
+ <a href="classes/JSON/Ext/Generator/GeneratorMethods/Array.html">JSON::Ext::Generator::GeneratorMethods::Array</a><br />
+ <a href="classes/JSON/Ext/Generator/GeneratorMethods/FalseClass.html">JSON::Ext::Generator::GeneratorMethods::FalseClass</a><br />
+ <a href="classes/JSON/Ext/Generator/GeneratorMethods/Float.html">JSON::Ext::Generator::GeneratorMethods::Float</a><br />
+ <a href="classes/JSON/Ext/Generator/GeneratorMethods/Hash.html">JSON::Ext::Generator::GeneratorMethods::Hash</a><br />
+ <a href="classes/JSON/Ext/Generator/GeneratorMethods/Integer.html">JSON::Ext::Generator::GeneratorMethods::Integer</a><br />
+ <a href="classes/JSON/Ext/Generator/GeneratorMethods/NilClass.html">JSON::Ext::Generator::GeneratorMethods::NilClass</a><br />
+ <a href="classes/JSON/Ext/Generator/GeneratorMethods/Object.html">JSON::Ext::Generator::GeneratorMethods::Object</a><br />
+ <a href="classes/JSON/Ext/Generator/GeneratorMethods/String.html">JSON::Ext::Generator::GeneratorMethods::String</a><br />
+ <a href="classes/JSON/Ext/Generator/GeneratorMethods/String/Extend.html">JSON::Ext::Generator::GeneratorMethods::String::Extend</a><br />
+ <a href="classes/JSON/Ext/Generator/GeneratorMethods/TrueClass.html">JSON::Ext::Generator::GeneratorMethods::TrueClass</a><br />
+ <a href="classes/JSON/Ext/Generator/State.html">JSON::Ext::Generator::State</a><br />
+ <a href="classes/JSON/Ext/Parser.html">JSON::Ext::Parser</a><br />
+ <a href="classes/JSON/GeneratorError.html">JSON::GeneratorError</a><br />
+ <a href="classes/JSON/JSONError.html">JSON::JSONError</a><br />
+ <a href="classes/JSON/MissingUnicodeSupport.html">JSON::MissingUnicodeSupport</a><br />
+ <a href="classes/JSON/NestingError.html">JSON::NestingError</a><br />
+ <a href="classes/JSON/ParserError.html">JSON::ParserError</a><br />
+ <a href="classes/JSON/Pure.html">JSON::Pure</a><br />
+ <a href="classes/JSON/Pure/Generator.html">JSON::Pure::Generator</a><br />
+ <a href="classes/JSON/Pure/Generator/GeneratorMethods.html">JSON::Pure::Generator::GeneratorMethods</a><br />
+ <a href="classes/JSON/Pure/Generator/GeneratorMethods/Array.html">JSON::Pure::Generator::GeneratorMethods::Array</a><br />
+ <a href="classes/JSON/Pure/Generator/GeneratorMethods/FalseClass.html">JSON::Pure::Generator::GeneratorMethods::FalseClass</a><br />
+ <a href="classes/JSON/Pure/Generator/GeneratorMethods/Float.html">JSON::Pure::Generator::GeneratorMethods::Float</a><br />
+ <a href="classes/JSON/Pure/Generator/GeneratorMethods/Hash.html">JSON::Pure::Generator::GeneratorMethods::Hash</a><br />
+ <a href="classes/JSON/Pure/Generator/GeneratorMethods/Integer.html">JSON::Pure::Generator::GeneratorMethods::Integer</a><br />
+ <a href="classes/JSON/Pure/Generator/GeneratorMethods/NilClass.html">JSON::Pure::Generator::GeneratorMethods::NilClass</a><br />
+ <a href="classes/JSON/Pure/Generator/GeneratorMethods/Object.html">JSON::Pure::Generator::GeneratorMethods::Object</a><br />
+ <a href="classes/JSON/Pure/Generator/GeneratorMethods/String.html">JSON::Pure::Generator::GeneratorMethods::String</a><br />
+ <a href="classes/JSON/Pure/Generator/GeneratorMethods/String/Extend.html">JSON::Pure::Generator::GeneratorMethods::String::Extend</a><br />
+ <a href="classes/JSON/Pure/Generator/GeneratorMethods/TrueClass.html">JSON::Pure::Generator::GeneratorMethods::TrueClass</a><br />
+ <a href="classes/JSON/Pure/Generator/State.html">JSON::Pure::Generator::State</a><br />
+ <a href="classes/JSON/Pure/Parser.html">JSON::Pure::Parser</a><br />
+ <a href="classes/JSONTreeView.html">JSONTreeView</a><br />
+ <a href="classes/MainWindow.html">MainWindow</a><br />
+ <a href="classes/MenuExtension.html">MenuExtension</a><br />
+ <a href="classes/Object.html">Object</a><br />
+ <a href="classes/OptionsMenu.html">OptionsMenu</a><br />
+ <a href="classes/PopUpMenu.html">PopUpMenu</a><br />
+ <a href="classes/Range.html">Range</a><br />
+ <a href="classes/Regexp.html">Regexp</a><br />
+ <a href="classes/Struct.html">Struct</a><br />
+ <a href="classes/Symbol.html">Symbol</a><br />
+ <a href="classes/Time.html">Time</a><br />
+ </div>
+</div>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/fr_file_index.html b/doc/fr_file_index.html
new file mode 100644
index 0000000..394e378
--- /dev/null
+++ b/doc/fr_file_index.html
@@ -0,0 +1,39 @@
+
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<!--
+
+ Files
+
+ -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Files</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="rdoc-style.css" type="text/css" />
+ <base target="docwin" />
+</head>
+<body>
+<div id="index">
+ <h1 class="section-bar">Files</h1>
+ <div id="index-entries">
+ <a href="files/README.html">README</a><br />
+ <a href="files/ext/json/ext/generator_c.html">ext/json/ext/generator.c</a><br />
+ <a href="files/ext/json/ext/parser_c.html">ext/json/ext/parser.c</a><br />
+ <a href="files/lib/json_rb.html">lib/json.rb</a><br />
+ <a href="files/lib/json/add/core_rb.html">lib/json/add/core.rb</a><br />
+ <a href="files/lib/json/add/rails_rb.html">lib/json/add/rails.rb</a><br />
+ <a href="files/lib/json/common_rb.html">lib/json/common.rb</a><br />
+ <a href="files/lib/json/editor_rb.html">lib/json/editor.rb</a><br />
+ <a href="files/lib/json/ext_rb.html">lib/json/ext.rb</a><br />
+ <a href="files/lib/json/pure_rb.html">lib/json/pure.rb</a><br />
+ <a href="files/lib/json/pure/generator_rb.html">lib/json/pure/generator.rb</a><br />
+ <a href="files/lib/json/pure/parser_rb.html">lib/json/pure/parser.rb</a><br />
+ <a href="files/lib/json/version_rb.html">lib/json/version.rb</a><br />
+ </div>
+</div>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/fr_method_index.html b/doc/fr_method_index.html
new file mode 100644
index 0000000..065f0d8
--- /dev/null
+++ b/doc/fr_method_index.html
@@ -0,0 +1,192 @@
+
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<!--
+
+ Methods
+
+ -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Methods</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" href="rdoc-style.css" type="text/css" />
+ <base target="docwin" />
+</head>
+<body>
+<div id="index">
+ <h1 class="section-bar">Methods</h1>
+ <div id="index-entries">
+ <a href="classes/JSON.html#M000095">[] (JSON)</a><br />
+ <a href="classes/MenuExtension.html#M000079">add_item (MenuExtension)</a><br />
+ <a href="classes/MenuExtension.html#M000078">add_separator (MenuExtension)</a><br />
+ <a href="classes/JSON/Pure/Generator/State.html#M000160">allow_nan? (JSON::Pure::Generator::State)</a><br />
+ <a href="classes/JSON/Ext/Generator/State.html#M000134">allow_nan? (JSON::Ext::Generator::State)</a><br />
+ <a href="classes/PopUpMenu.html#M000047">append_new_node (PopUpMenu)</a><br />
+ <a href="classes/JSON/Ext/Generator/State.html#M000130">array_nl (JSON::Ext::Generator::State)</a><br />
+ <a href="classes/JSON/Ext/Generator/State.html#M000131">array_nl= (JSON::Ext::Generator::State)</a><br />
+ <a href="classes/JSON/Ext/Generator/State.html#M000135">ascii_only? (JSON::Ext::Generator::State)</a><br />
+ <a href="classes/JSON/Pure/Generator/State.html#M000161">ascii_only? (JSON::Pure::Generator::State)</a><br />
+ <a href="classes/JSONTreeView.html#M000038">ask_for_element (JSONTreeView)</a><br />
+ <a href="classes/JSONTreeView.html#M000040">ask_for_find_term (JSONTreeView)</a><br />
+ <a href="classes/JSONTreeView.html#M000037">ask_for_hash_pair (JSONTreeView)</a><br />
+ <a href="classes/MainWindow.html#M000034">ask_for_location (MainWindow)</a><br />
+ <a href="classes/JSONTreeView.html#M000039">ask_for_order (JSONTreeView)</a><br />
+ <a href="classes/MainWindow.html#M000020">ask_save (MainWindow)</a><br />
+ <a href="classes/MainWindow.html#M000016">change (MainWindow)</a><br />
+ <a href="classes/PopUpMenu.html#M000042">change_node (PopUpMenu)</a><br />
+ <a href="classes/JSON/Pure/Generator/State.html#M000159">check_circular? (JSON::Pure::Generator::State)</a><br />
+ <a href="classes/MainWindow.html#M000023">clear (MainWindow)</a><br />
+ <a href="classes/PopUpMenu.html#M000049">collapse_expand (PopUpMenu)</a><br />
+ <a href="classes/OptionsMenu.html#M000003">collapsed_nodes (OptionsMenu)</a><br />
+ <a href="classes/JSON/Pure/Generator/State.html#M000162">configure (JSON::Pure::Generator::State)</a><br />
+ <a href="classes/JSON/Ext/Generator/State.html#M000136">configure (JSON::Ext::Generator::State)</a><br />
+ <a href="classes/Gtk/TreeIter.html#M000092">content (Gtk::TreeIter)</a><br />
+ <a href="classes/Gtk/TreeIter.html#M000093">content= (Gtk::TreeIter)</a><br />
+ <a href="classes/EditMenu.html#M000006">copy (EditMenu)</a><br />
+ <a href="classes/PopUpMenu.html#M000044">copy_node (PopUpMenu)</a><br />
+ <a href="classes/FileMenu.html#M000072">create (FileMenu)</a><br />
+ <a href="classes/PopUpMenu.html#M000050">create (PopUpMenu)</a><br />
+ <a href="classes/EditMenu.html#M000011">create (EditMenu)</a><br />
+ <a href="classes/MenuExtension.html#M000080">create (MenuExtension)</a><br />
+ <a href="classes/OptionsMenu.html#M000005">create (OptionsMenu)</a><br />
+ <a href="classes/MainWindow.html#M000015">create_menu_bar (MainWindow)</a><br />
+ <a href="classes/JSONTreeView.html#M000036">create_node (JSONTreeView)</a><br />
+ <a href="classes/PopUpMenu.html#M000043">cut_node (PopUpMenu)</a><br />
+ <a href="classes/Editor.html#M000086">data2model (Editor)</a><br />
+ <a href="classes/MainWindow.html#M000019">display_status (MainWindow)</a><br />
+ <a href="classes/MainWindow.html#M000022">display_title (MainWindow)</a><br />
+ <a href="classes/JSON.html#M000104">dump (JSON)</a><br />
+ <a href="classes/Gtk/TreeIter.html#M000087">each (Gtk::TreeIter)</a><br />
+ <a href="classes/MainWindow.html#M000026">edit (MainWindow)</a><br />
+ <a href="files/lib/json/editor_rb.html#M000002">edit (lib/json/editor.rb)</a><br />
+ <a href="classes/Editor.html#M000083">error_dialog (Editor)</a><br />
+ <a href="classes/JSONTreeView.html#M000041">expand_collapse (JSONTreeView)</a><br />
+ <a href="classes/JSON.html#M000099">fast_generate (JSON)</a><br />
+ <a href="classes/Editor.html#M000082">fetch_icon (Editor)</a><br />
+ <a href="classes/MainWindow.html#M000025">file_open (MainWindow)</a><br />
+ <a href="classes/MainWindow.html#M000027">file_save (MainWindow)</a><br />
+ <a href="classes/MainWindow.html#M000028">file_save_as (MainWindow)</a><br />
+ <a href="classes/EditMenu.html#M000008">find (EditMenu)</a><br />
+ <a href="classes/EditMenu.html#M000009">find_again (EditMenu)</a><br />
+ <a href="classes/JSON/Ext/Generator/State.html#M000119">from_state (JSON::Ext::Generator::State)</a><br />
+ <a href="classes/JSON/Pure/Generator/State.html#M000157">from_state (JSON::Pure::Generator::State)</a><br />
+ <a href="classes/JSON/Pure/Generator/State.html#M000164">generate (JSON::Pure::Generator::State)</a><br />
+ <a href="classes/JSON/Ext/Generator/State.html#M000138">generate (JSON::Ext::Generator::State)</a><br />
+ <a href="classes/JSON.html#M000098">generate (JSON)</a><br />
+ <a href="classes/JSON.html#M000105">iconv (JSON)</a><br />
+ <a href="classes/JSON/Ext/Generator/GeneratorMethods/String.html#M000114">included (JSON::Ext::Generator::GeneratorMethods::String)</a><br />
+ <a href="classes/JSON/Pure/Generator/GeneratorMethods/String.html#M000153">included (JSON::Pure::Generator::GeneratorMethods::String)</a><br />
+ <a href="classes/JSON/Ext/Generator/State.html#M000122">indent (JSON::Ext::Generator::State)</a><br />
+ <a href="classes/JSON/Ext/Generator/State.html#M000123">indent= (JSON::Ext::Generator::State)</a><br />
+ <a href="classes/JSON/Ext/Generator/State.html#M000121">initialize_copy (JSON::Ext::Generator::State)</a><br />
+ <a href="classes/PopUpMenu.html#M000048">insert_new_node (PopUpMenu)</a><br />
+ <a href="classes/Class.html#M000055">json_creatable? (Class)</a><br />
+ <a href="classes/Exception.html#M000063">json_create (Exception)</a><br />
+ <a href="classes/Date.html#M000061">json_create (Date)</a><br />
+ <a href="classes/Symbol.html#M000060">json_create (Symbol)</a><br />
+ <a href="classes/Object.html#M000012">json_create (Object)</a><br />
+ <a href="classes/Time.html#M000056">json_create (Time)</a><br />
+ <a href="classes/Struct.html#M000053">json_create (Struct)</a><br />
+ <a href="classes/JSON/Pure/Generator/GeneratorMethods/String/Extend.html#M000156">json_create (JSON::Pure::Generator::GeneratorMethods::String::Extend)</a><br />
+ <a href="classes/Range.html#M000073">json_create (Range)</a><br />
+ <a href="classes/Regexp.html#M000051">json_create (Regexp)</a><br />
+ <a href="classes/DateTime.html#M000075">json_create (DateTime)</a><br />
+ <a href="classes/JSON/Ext/Generator/GeneratorMethods/String/Extend.html#M000118">json_create (JSON::Ext::Generator::GeneratorMethods::String::Extend)</a><br />
+ <a href="classes/JSON.html#M000101">load (JSON)</a><br />
+ <a href="classes/MainWindow.html#M000030">load_file (MainWindow)</a><br />
+ <a href="classes/MainWindow.html#M000031">load_location (MainWindow)</a><br />
+ <a href="classes/MainWindow.html#M000024">location_open (MainWindow)</a><br />
+ <a href="classes/JSON/Ext/Generator/State.html#M000132">max_nesting (JSON::Ext::Generator::State)</a><br />
+ <a href="classes/JSON/Ext/Generator/State.html#M000133">max_nesting= (JSON::Ext::Generator::State)</a><br />
+ <a href="classes/MenuExtension.html#M000081">method_missing (MenuExtension)</a><br />
+ <a href="classes/Editor.html#M000085">model2data (Editor)</a><br />
+ <a href="classes/MenuExtension.html#M000077">new (MenuExtension)</a><br />
+ <a href="classes/JSON/Ext/Parser.html#M000140">new (JSON::Ext::Parser)</a><br />
+ <a href="classes/MainWindow.html#M000014">new (MainWindow)</a><br />
+ <a href="classes/FileMenu.html#M000065">new (FileMenu)</a><br />
+ <a href="classes/JSON/Ext/Generator/State.html#M000120">new (JSON::Ext::Generator::State)</a><br />
+ <a href="classes/JSON/Pure/Parser.html#M000165">new (JSON::Pure::Parser)</a><br />
+ <a href="classes/JSON/Pure/Generator/State.html#M000158">new (JSON::Pure::Generator::State)</a><br />
+ <a href="classes/JSONTreeView.html#M000035">new (JSONTreeView)</a><br />
+ <a href="classes/JSON/Ext/Generator/State.html#M000128">object_nl (JSON::Ext::Generator::State)</a><br />
+ <a href="classes/JSON/Ext/Generator/State.html#M000129">object_nl= (JSON::Ext::Generator::State)</a><br />
+ <a href="classes/FileMenu.html#M000066">open (FileMenu)</a><br />
+ <a href="classes/FileMenu.html#M000067">open_location (FileMenu)</a><br />
+ <a href="classes/JSON/Pure/Parser.html#M000166">parse (JSON::Pure::Parser)</a><br />
+ <a href="classes/JSON.html#M000096">parse (JSON)</a><br />
+ <a href="classes/JSON/Ext/Parser.html#M000141">parse (JSON::Ext::Parser)</a><br />
+ <a href="classes/JSON.html#M000097">parse! (JSON)</a><br />
+ <a href="classes/JSON/Ext/Generator/State.html#M000139">partial_generate (JSON::Ext::Generator::State)</a><br />
+ <a href="classes/EditMenu.html#M000007">paste (EditMenu)</a><br />
+ <a href="classes/PopUpMenu.html#M000045">paste_node_appending (PopUpMenu)</a><br />
+ <a href="classes/PopUpMenu.html#M000046">paste_node_inserting_before (PopUpMenu)</a><br />
+ <a href="classes/JSON.html#M000100">pretty_generate (JSON)</a><br />
+ <a href="classes/OptionsMenu.html#M000004">pretty_saving (OptionsMenu)</a><br />
+ <a href="classes/Editor.html#M000084">question_dialog (Editor)</a><br />
+ <a href="classes/MainWindow.html#M000021">quit (MainWindow)</a><br />
+ <a href="classes/FileMenu.html#M000071">quit (FileMenu)</a><br />
+ <a href="classes/MainWindow.html#M000032">read_data (MainWindow)</a><br />
+ <a href="classes/JSON.html#M000102">recurse_proc (JSON)</a><br />
+ <a href="classes/Gtk/TreeIter.html#M000088">recursive_each (Gtk::TreeIter)</a><br />
+ <a href="classes/Gtk/TreeIter.html#M000089">remove_subtree (Gtk::TreeIter)</a><br />
+ <a href="classes/JSON.html#M000103">restore (JSON)</a><br />
+ <a href="classes/FileMenu.html#M000068">revert (FileMenu)</a><br />
+ <a href="classes/FileMenu.html#M000069">save (FileMenu)</a><br />
+ <a href="classes/FileMenu.html#M000070">save_as (FileMenu)</a><br />
+ <a href="classes/MainWindow.html#M000033">select_file (MainWindow)</a><br />
+ <a href="classes/EditMenu.html#M000010">sort (EditMenu)</a><br />
+ <a href="classes/JSON/Ext/Parser.html#M000142">source (JSON::Ext::Parser)</a><br />
+ <a href="classes/JSON/Ext/Generator/State.html#M000124">space (JSON::Ext::Generator::State)</a><br />
+ <a href="classes/JSON/Ext/Generator/State.html#M000125">space= (JSON::Ext::Generator::State)</a><br />
+ <a href="classes/JSON/Ext/Generator/State.html#M000126">space_before (JSON::Ext::Generator::State)</a><br />
+ <a href="classes/JSON/Ext/Generator/State.html#M000127">space_before= (JSON::Ext::Generator::State)</a><br />
+ <a href="files/lib/json/editor_rb.html#M000001">start (lib/json/editor.rb)</a><br />
+ <a href="classes/MainWindow.html#M000029">store_file (MainWindow)</a><br />
+ <a href="classes/JSON/Pure/Generator/State.html#M000163">to_h (JSON::Pure::Generator::State)</a><br />
+ <a href="classes/JSON/Ext/Generator/State.html#M000137">to_h (JSON::Ext::Generator::State)</a><br />
+ <a href="classes/JSON/Ext/Generator/GeneratorMethods/FalseClass.html#M000108">to_json (JSON::Ext::Generator::GeneratorMethods::FalseClass)</a><br />
+ <a href="classes/DateTime.html#M000076">to_json (DateTime)</a><br />
+ <a href="classes/Range.html#M000074">to_json (Range)</a><br />
+ <a href="classes/JSON/Ext/Generator/GeneratorMethods/Array.html#M000109">to_json (JSON::Ext::Generator::GeneratorMethods::Array)</a><br />
+ <a href="classes/Enumerable.html#M000094">to_json (Enumerable)</a><br />
+ <a href="classes/JSON/Ext/Generator/GeneratorMethods/Object.html#M000106">to_json (JSON::Ext::Generator::GeneratorMethods::Object)</a><br />
+ <a href="classes/Object.html#M000013">to_json (Object)</a><br />
+ <a href="classes/Exception.html#M000064">to_json (Exception)</a><br />
+ <a href="classes/JSON/Ext/Generator/GeneratorMethods/Hash.html#M000110">to_json (JSON::Ext::Generator::GeneratorMethods::Hash)</a><br />
+ <a href="classes/Date.html#M000062">to_json (Date)</a><br />
+ <a href="classes/Symbol.html#M000059">to_json (Symbol)</a><br />
+ <a href="classes/Symbol.html#M000058">to_json (Symbol)</a><br />
+ <a href="classes/Time.html#M000057">to_json (Time)</a><br />
+ <a href="classes/JSON/Ext/Generator/GeneratorMethods/String.html#M000115">to_json (JSON::Ext::Generator::GeneratorMethods::String)</a><br />
+ <a href="classes/JSON/Pure/Generator/GeneratorMethods/Object.html#M000143">to_json (JSON::Pure::Generator::GeneratorMethods::Object)</a><br />
+ <a href="classes/JSON/Pure/Generator/GeneratorMethods/Integer.html#M000144">to_json (JSON::Pure::Generator::GeneratorMethods::Integer)</a><br />
+ <a href="classes/JSON/Pure/Generator/GeneratorMethods/FalseClass.html#M000145">to_json (JSON::Pure::Generator::GeneratorMethods::FalseClass)</a><br />
+ <a href="classes/JSON/Pure/Generator/GeneratorMethods/Array.html#M000146">to_json (JSON::Pure::Generator::GeneratorMethods::Array)</a><br />
+ <a href="classes/JSON/Pure/Generator/GeneratorMethods/Hash.html#M000147">to_json (JSON::Pure::Generator::GeneratorMethods::Hash)</a><br />
+ <a href="classes/JSON/Ext/Generator/GeneratorMethods/TrueClass.html#M000113">to_json (JSON::Ext::Generator::GeneratorMethods::TrueClass)</a><br />
+ <a href="classes/JSON/Pure/Generator/GeneratorMethods/NilClass.html#M000149">to_json (JSON::Pure::Generator::GeneratorMethods::NilClass)</a><br />
+ <a href="classes/JSON/Pure/Generator/GeneratorMethods/TrueClass.html#M000150">to_json (JSON::Pure::Generator::GeneratorMethods::TrueClass)</a><br />
+ <a href="classes/JSON/Pure/Generator/GeneratorMethods/String.html#M000151">to_json (JSON::Pure::Generator::GeneratorMethods::String)</a><br />
+ <a href="classes/JSON/Pure/Generator/GeneratorMethods/String.html#M000152">to_json (JSON::Pure::Generator::GeneratorMethods::String)</a><br />
+ <a href="classes/Struct.html#M000054">to_json (Struct)</a><br />
+ <a href="classes/JSON/Ext/Generator/GeneratorMethods/Float.html#M000111">to_json (JSON::Ext::Generator::GeneratorMethods::Float)</a><br />
+ <a href="classes/JSON/Ext/Generator/GeneratorMethods/NilClass.html#M000112">to_json (JSON::Ext::Generator::GeneratorMethods::NilClass)</a><br />
+ <a href="classes/Regexp.html#M000052">to_json (Regexp)</a><br />
+ <a href="classes/JSON/Ext/Generator/GeneratorMethods/Integer.html#M000107">to_json (JSON::Ext::Generator::GeneratorMethods::Integer)</a><br />
+ <a href="classes/JSON/Pure/Generator/GeneratorMethods/Float.html#M000148">to_json (JSON::Pure::Generator::GeneratorMethods::Float)</a><br />
+ <a href="classes/JSON/Pure/Generator/GeneratorMethods/String.html#M000155">to_json_raw (JSON::Pure::Generator::GeneratorMethods::String)</a><br />
+ <a href="classes/JSON/Ext/Generator/GeneratorMethods/String.html#M000116">to_json_raw (JSON::Ext::Generator::GeneratorMethods::String)</a><br />
+ <a href="classes/JSON/Ext/Generator/GeneratorMethods/String.html#M000117">to_json_raw_object (JSON::Ext::Generator::GeneratorMethods::String)</a><br />
+ <a href="classes/JSON/Pure/Generator/GeneratorMethods/String.html#M000154">to_json_raw_object (JSON::Pure::Generator::GeneratorMethods::String)</a><br />
+ <a href="classes/Gtk/TreeIter.html#M000090">type (Gtk::TreeIter)</a><br />
+ <a href="classes/Gtk/TreeIter.html#M000091">type= (Gtk::TreeIter)</a><br />
+ <a href="classes/MainWindow.html#M000017">unchange (MainWindow)</a><br />
+ <a href="classes/MainWindow.html#M000018">view_new_model (MainWindow)</a><br />
+ </div>
+</div>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/index.html b/doc/index.html
new file mode 100644
index 0000000..cf5bb70
--- /dev/null
+++ b/doc/index.html
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
+
+<!--
+
+ JSON Implementation for Ruby
+
+ -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>JSON Implementation for Ruby</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+</head>
+<frameset rows="20%, 80%">
+ <frameset cols="25%,35%,45%">
+ <frame src="fr_file_index.html" title="Files" name="Files" />
+ <frame src="fr_class_index.html" name="Classes" />
+ <frame src="fr_method_index.html" name="Methods" />
+ </frameset>
+ <frame src="files/README.html" name="docwin" />
+</frameset>
+</html> \ No newline at end of file
diff --git a/doc/rdoc-style.css b/doc/rdoc-style.css
new file mode 100644
index 0000000..44c7b3d
--- /dev/null
+++ b/doc/rdoc-style.css
@@ -0,0 +1,208 @@
+
+body {
+ font-family: Verdana,Arial,Helvetica,sans-serif;
+ font-size: 90%;
+ margin: 0;
+ margin-left: 40px;
+ padding: 0;
+ background: white;
+}
+
+h1,h2,h3,h4 { margin: 0; color: #efefef; background: transparent; }
+h1 { font-size: 150%; }
+h2,h3,h4 { margin-top: 1em; }
+
+a { background: #eef; color: #039; text-decoration: none; }
+a:hover { background: #039; color: #eef; }
+
+/* Override the base stylesheet's Anchor inside a table cell */
+td > a {
+ background: transparent;
+ color: #039;
+ text-decoration: none;
+}
+
+/* and inside a section title */
+.section-title > a {
+ background: transparent;
+ color: #eee;
+ text-decoration: none;
+}
+
+/* === Structural elements =================================== */
+
+div#index {
+ margin: 0;
+ margin-left: -40px;
+ padding: 0;
+ font-size: 90%;
+}
+
+
+div#index a {
+ margin-left: 0.7em;
+}
+
+div#index .section-bar {
+ margin-left: 0px;
+ padding-left: 0.7em;
+ background: #ccc;
+ font-size: small;
+}
+
+
+div#classHeader, div#fileHeader {
+ width: auto;
+ color: white;
+ padding: 0.5em 1.5em 0.5em 1.5em;
+ margin: 0;
+ margin-left: -40px;
+ border-bottom: 3px solid #006;
+}
+
+div#classHeader a, div#fileHeader a {
+ background: inherit;
+ color: white;
+}
+
+div#classHeader td, div#fileHeader td {
+ background: inherit;
+ color: white;
+}
+
+
+div#fileHeader {
+ background: #057;
+}
+
+div#classHeader {
+ background: #048;
+}
+
+
+.class-name-in-header {
+ font-size: 180%;
+ font-weight: bold;
+}
+
+
+div#bodyContent {
+ padding: 0 1.5em 0 1.5em;
+}
+
+div#description {
+ padding: 0.5em 1.5em;
+ background: #efefef;
+ border: 1px dotted #999;
+}
+
+div#description h1,h2,h3,h4,h5,h6 {
+ color: #125;;
+ background: transparent;
+}
+
+div#validator-badges {
+ text-align: center;
+}
+div#validator-badges img { border: 0; }
+
+div#copyright {
+ color: #333;
+ background: #efefef;
+ font: 0.75em sans-serif;
+ margin-top: 5em;
+ margin-bottom: 0;
+ padding: 0.5em 2em;
+}
+
+
+/* === Classes =================================== */
+
+table.header-table {
+ color: white;
+ font-size: small;
+}
+
+.type-note {
+ font-size: small;
+ color: #DEDEDE;
+}
+
+.xxsection-bar {
+ background: #eee;
+ color: #333;
+ padding: 3px;
+}
+
+.section-bar {
+ color: #333;
+ border-bottom: 1px solid #999;
+ margin-left: -20px;
+}
+
+
+.section-title {
+ background: #79a;
+ color: #eee;
+ padding: 3px;
+ margin-top: 2em;
+ margin-left: -30px;
+ border: 1px solid #999;
+}
+
+.top-aligned-row { vertical-align: top }
+.bottom-aligned-row { vertical-align: bottom }
+
+/* --- Context section classes ----------------------- */
+
+.context-row { }
+.context-item-name { font-family: monospace; font-weight: bold; color: black; }
+.context-item-value { font-size: small; color: #448; }
+.context-item-desc { color: #333; padding-left: 2em; }
+
+/* --- Method classes -------------------------- */
+.method-detail {
+ background: #efefef;
+ padding: 0;
+ margin-top: 0.5em;
+ margin-bottom: 1em;
+ border: 1px dotted #ccc;
+}
+.method-heading {
+ color: black;
+ background: #ccc;
+ border-bottom: 1px solid #666;
+ padding: 0.2em 0.5em 0 0.5em;
+}
+.method-signature { color: black; background: inherit; }
+.method-name { font-weight: bold; }
+.method-args { font-style: italic; }
+.method-description { padding: 0 0.5em 0 0.5em; }
+
+/* --- Source code sections -------------------- */
+
+a.source-toggle { font-size: 90%; }
+div.method-source-code {
+ background: #262626;
+ color: #ffdead;
+ margin: 1em;
+ padding: 0.5em;
+ border: 1px dashed #999;
+ overflow: hidden;
+}
+
+div.method-source-code pre { color: #ffdead; overflow: hidden; }
+
+/* --- Ruby keyword styles --------------------- */
+
+.standalone-code { background: #221111; color: #ffdead; overflow: hidden; }
+
+.ruby-constant { color: #7fffd4; background: transparent; }
+.ruby-keyword { color: #00ffff; background: transparent; }
+.ruby-ivar { color: #eedd82; background: transparent; }
+.ruby-operator { color: #00ffee; background: transparent; }
+.ruby-identifier { color: #ffdead; background: transparent; }
+.ruby-node { color: #ffa07a; background: transparent; }
+.ruby-comment { color: #b22222; font-weight: bold; background: transparent; }
+.ruby-regexp { color: #ffa07a; background: transparent; }
+.ruby-value { color: #7fffd4; background: transparent; } \ No newline at end of file