kwalify 0.6.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. data/CHANGES.txt +232 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.txt +16 -19
  4. data/bin/kwalify +3 -3
  5. data/contrib/inline-require +6 -4
  6. data/contrib/kwalify +3719 -2427
  7. data/doc-api/classes/CommandOptionError.html +17 -17
  8. data/doc-api/classes/CommandOptionParser.html +63 -63
  9. data/doc-api/classes/Kwalify.html +29 -7
  10. data/doc-api/classes/Kwalify/AssertionError.html +9 -9
  11. data/doc-api/classes/Kwalify/BaseError.html +72 -71
  12. data/doc-api/classes/Kwalify/BaseParser.html +461 -0
  13. data/doc-api/classes/Kwalify/CommandOptionError.html +11 -11
  14. data/doc-api/classes/Kwalify/ErrorHelper.html +51 -46
  15. data/doc-api/classes/Kwalify/HashInterface.html +13 -135
  16. data/doc-api/classes/Kwalify/Json.html +105 -0
  17. data/doc-api/classes/Kwalify/Main.html +129 -126
  18. data/doc-api/classes/Kwalify/MetaValidator.html +248 -232
  19. data/doc-api/classes/Kwalify/Parser.html +12 -12
  20. data/doc-api/classes/Kwalify/PlainYamlParser.html +166 -163
  21. data/doc-api/classes/Kwalify/PlainYamlParser/Alias.html +11 -11
  22. data/doc-api/classes/Kwalify/Rule.html +152 -130
  23. data/doc-api/classes/Kwalify/SchemaError.html +10 -10
  24. data/doc-api/classes/Kwalify/SyntaxError.html +185 -0
  25. data/doc-api/classes/Kwalify/Types.html +26 -25
  26. data/doc-api/classes/Kwalify/Util.html +389 -0
  27. data/doc-api/classes/Kwalify/Util/HashLike.html +246 -0
  28. data/doc-api/classes/Kwalify/Util/OrderedHash.html +330 -0
  29. data/doc-api/classes/Kwalify/ValidationError.html +10 -10
  30. data/doc-api/classes/Kwalify/Validator.html +153 -86
  31. data/doc-api/classes/Kwalify/Yaml.html +181 -0
  32. data/doc-api/classes/Kwalify/Yaml/Parser.html +1538 -0
  33. data/doc-api/classes/Kwalify/YamlParser.html +190 -183
  34. data/doc-api/classes/Kwalify/YamlSyntaxError.html +8 -57
  35. data/doc-api/created.rid +1 -1
  36. data/doc-api/files/__/README_txt.html +17 -22
  37. data/doc-api/files/kwalify/errors_rb.html +2 -2
  38. data/doc-api/files/kwalify/main_rb.html +4 -3
  39. data/doc-api/files/kwalify/messages_rb.html +2 -2
  40. data/doc-api/files/kwalify/meta-validator_rb.html +3 -3
  41. data/doc-api/files/kwalify/{util/yaml-helper_rb.html → parser/base_rb.html} +8 -6
  42. data/doc-api/files/kwalify/parser/yaml_rb.html +117 -0
  43. data/doc-api/files/kwalify/rule_rb.html +2 -2
  44. data/doc-api/files/kwalify/types_rb.html +2 -2
  45. data/doc-api/files/kwalify/util/assert-text-equal_rb.html +2 -2
  46. data/doc-api/files/kwalify/util/hash-interface_rb.html +9 -2
  47. data/doc-api/files/kwalify/util/hashlike_rb.html +107 -0
  48. data/doc-api/files/kwalify/util/option-parser_rb.html +2 -2
  49. data/doc-api/files/kwalify/util/ordered-hash_rb.html +107 -0
  50. data/doc-api/files/kwalify/util/testcase-helper_rb.html +2 -2
  51. data/doc-api/files/kwalify/util_rb.html +107 -0
  52. data/doc-api/files/kwalify/validator_rb.html +2 -2
  53. data/doc-api/files/kwalify/yaml-parser_rb.html +2 -2
  54. data/doc-api/files/kwalify_rb.html +3 -2
  55. data/doc-api/fr_class_index.html +8 -1
  56. data/doc-api/fr_file_index.html +5 -1
  57. data/doc-api/fr_method_index.html +128 -69
  58. data/doc/img/fig01.png +0 -0
  59. data/doc/users-guide.html +882 -717
  60. data/examples/address-book/address-book.schema.yaml +2 -2
  61. data/examples/data-binding/BABEL.data.yaml +63 -0
  62. data/examples/data-binding/BABEL.schema.yaml +31 -0
  63. data/examples/data-binding/Makefile +8 -0
  64. data/examples/data-binding/Rakefile +13 -0
  65. data/examples/data-binding/main.rb +27 -0
  66. data/examples/invoice/invoice.schema.yaml +3 -3
  67. data/examples/tapkit/tapkit.schema.yaml +2 -2
  68. data/lib/kwalify.rb +41 -4
  69. data/lib/kwalify/errors.rb +118 -96
  70. data/lib/kwalify/kwalify.schema.yaml +58 -0
  71. data/lib/kwalify/main.rb +384 -377
  72. data/lib/kwalify/messages.rb +41 -27
  73. data/lib/kwalify/meta-validator.rb +251 -331
  74. data/lib/kwalify/parser/base.rb +127 -0
  75. data/lib/kwalify/parser/yaml.rb +837 -0
  76. data/lib/kwalify/rule.rb +545 -487
  77. data/lib/kwalify/templates/genclass-java.eruby +189 -162
  78. data/lib/kwalify/templates/genclass-php.eruby +104 -0
  79. data/lib/kwalify/templates/genclass-ruby.eruby +95 -66
  80. data/lib/kwalify/types.rb +107 -106
  81. data/lib/kwalify/util.rb +157 -0
  82. data/lib/kwalify/util/assert-text-equal.rb +33 -31
  83. data/lib/kwalify/util/hash-interface.rb +11 -30
  84. data/lib/kwalify/util/hashlike.rb +51 -0
  85. data/lib/kwalify/util/option-parser.rb +144 -144
  86. data/lib/kwalify/util/ordered-hash.rb +57 -0
  87. data/lib/kwalify/util/testcase-helper.rb +3 -3
  88. data/lib/kwalify/validator.rb +267 -212
  89. data/lib/kwalify/yaml-parser.rb +822 -768
  90. data/setup.rb +861 -607
  91. data/test/Rookbook.yaml +10 -0
  92. data/test/{tmp.dir/Context.java → data/users-guide/AddressBook.java.expected} +11 -11
  93. data/test/data/users-guide/BABEL.data.yaml +24 -0
  94. data/test/data/users-guide/BABEL.schema.yaml +30 -0
  95. data/test/data/users-guide/ExampleAddressBook.java +47 -0
  96. data/test/{tmp.dir/Group.java → data/users-guide/Group.java.expected} +2 -11
  97. data/test/data/users-guide/Person.java.expected +44 -0
  98. data/test/data/users-guide/address_book.rb +52 -0
  99. data/test/data/users-guide/address_book.schema.yaml +28 -0
  100. data/test/data/users-guide/address_book.yaml +27 -0
  101. data/test/data/users-guide/answers-schema.yaml +12 -0
  102. data/test/data/users-guide/answers-validator.rb +52 -0
  103. data/test/data/users-guide/babel_genclass.result +26 -0
  104. data/test/data/users-guide/config.schema.yaml +7 -0
  105. data/test/data/users-guide/config.yaml +4 -0
  106. data/test/{tmp.dir/silent1.document → data/users-guide/document01a.yaml} +0 -0
  107. data/test/data/users-guide/document01b.yaml +3 -0
  108. data/test/data/users-guide/document02a.yaml +4 -0
  109. data/test/data/users-guide/document02b.yaml +4 -0
  110. data/test/data/users-guide/document03a.yaml +6 -0
  111. data/test/data/users-guide/document03b.yaml +6 -0
  112. data/test/data/users-guide/document04a.yaml +9 -0
  113. data/test/data/users-guide/document04b.yaml +9 -0
  114. data/test/data/users-guide/document05a.yaml +11 -0
  115. data/test/data/users-guide/document05b.yaml +12 -0
  116. data/test/data/users-guide/document06a.yaml +15 -0
  117. data/test/data/users-guide/document06b.yaml +16 -0
  118. data/test/data/users-guide/document07a.yaml +9 -0
  119. data/test/data/users-guide/document07b.yaml +7 -0
  120. data/test/data/users-guide/document12a.json +10 -0
  121. data/test/data/users-guide/document12b.json +6 -0
  122. data/test/data/users-guide/document13a.yaml +17 -0
  123. data/test/data/users-guide/document14a.yaml +3 -0
  124. data/test/data/users-guide/document14b.yaml +3 -0
  125. data/test/data/users-guide/document15a.yaml +6 -0
  126. data/test/data/users-guide/document15b.yaml +5 -0
  127. data/test/data/users-guide/example_address_book.rb +10 -0
  128. data/test/data/users-guide/example_address_book_java.result +32 -0
  129. data/test/data/users-guide/example_address_book_ruby.result +31 -0
  130. data/test/data/users-guide/genclass_java.result +4 -0
  131. data/test/data/users-guide/howto-validation-with-parsing.rb +28 -0
  132. data/test/data/users-guide/howto-validation.rb +25 -0
  133. data/test/data/users-guide/howto3.rb +6 -0
  134. data/test/data/users-guide/howto3.result +5 -0
  135. data/test/data/users-guide/howto3.yaml +8 -0
  136. data/test/data/users-guide/howto5_databinding.result +111 -0
  137. data/test/data/users-guide/invalid01.result +3 -0
  138. data/test/data/users-guide/invalid02.result +5 -0
  139. data/test/data/users-guide/invalid03.result +5 -0
  140. data/test/data/users-guide/invalid04.result +4 -0
  141. data/test/data/users-guide/invalid05.result +11 -0
  142. data/test/data/users-guide/invalid06.result +4 -0
  143. data/test/data/users-guide/invalid07.result +3 -0
  144. data/test/data/users-guide/invalid08.result +3 -0
  145. data/test/data/users-guide/invalid12.json +8 -0
  146. data/test/data/users-guide/invalid14.result +4 -0
  147. data/test/data/users-guide/invalid15.result +4 -0
  148. data/test/data/users-guide/loadbabel.rb +27 -0
  149. data/test/data/users-guide/loadconfig.rb +15 -0
  150. data/test/data/users-guide/loadconfig.result +2 -0
  151. data/test/data/users-guide/models.rb +22 -0
  152. data/test/data/users-guide/option_ha.result +6 -0
  153. data/test/data/users-guide/option_ha_genclass_java.result +7 -0
  154. data/test/{tmp.dir/meta1.schema → data/users-guide/schema01.yaml} +0 -0
  155. data/test/data/users-guide/schema02.yaml +12 -0
  156. data/test/data/users-guide/schema03.yaml +9 -0
  157. data/test/data/users-guide/schema04.yaml +20 -0
  158. data/test/data/users-guide/schema05.yaml +29 -0
  159. data/test/data/users-guide/schema06.yaml +11 -0
  160. data/test/data/users-guide/schema12.json +12 -0
  161. data/test/data/users-guide/schema13.yaml +13 -0
  162. data/test/data/users-guide/schema14.yaml +5 -0
  163. data/test/data/users-guide/schema15.yaml +21 -0
  164. data/test/data/users-guide/valid01.result +2 -0
  165. data/test/data/users-guide/valid02.result +2 -0
  166. data/test/data/users-guide/valid03.result +2 -0
  167. data/test/data/users-guide/valid04.result +2 -0
  168. data/test/data/users-guide/valid05.result +2 -0
  169. data/test/data/users-guide/valid06.result +2 -0
  170. data/test/data/users-guide/valid07.result +2 -0
  171. data/test/data/users-guide/valid08.result +2 -0
  172. data/test/data/users-guide/valid12.result +2 -0
  173. data/test/data/users-guide/valid13.result +2 -0
  174. data/test/data/users-guide/valid14.result +2 -0
  175. data/test/data/users-guide/valid15.result +2 -0
  176. data/test/data/users-guide/validate08.rb +37 -0
  177. data/test/test-action.rb +78 -0
  178. data/test/test-action.yaml +738 -0
  179. data/test/test-databinding.rb +80 -0
  180. data/test/test-databinding.yaml +301 -0
  181. data/test/test-main.rb +129 -150
  182. data/test/test-main.yaml +126 -321
  183. data/test/test-metavalidator.rb +47 -47
  184. data/test/test-metavalidator.yaml +77 -21
  185. data/test/test-parser-yaml.rb +57 -0
  186. data/test/test-parser-yaml.yaml +1749 -0
  187. data/test/test-rule.rb +14 -15
  188. data/test/test-rule.yaml +6 -3
  189. data/test/test-users-guide.rb +75 -0
  190. data/test/test-validator.rb +77 -52
  191. data/test/test-validator.yaml +168 -6
  192. data/test/test-yaml-parser.rb +47 -0
  193. data/test/{test-yamlparser.yaml → test-yaml-parser.yaml} +159 -52
  194. data/test/test.rb +37 -21
  195. metadata +136 -37
  196. data/COPYING +0 -340
  197. data/ChangeLog +0 -70
  198. data/doc-api/classes/YamlHelper.html +0 -259
  199. data/lib/kwalify/util/yaml-helper.rb +0 -82
  200. data/test/test-yamlparser.rb +0 -58
  201. data/test/tmp.dir/User.java +0 -43
  202. data/test/tmp.dir/action1.document +0 -18
  203. data/test/tmp.dir/action1.schema +0 -32
  204. data/test/tmp.dir/action2.document +0 -18
  205. data/test/tmp.dir/action2.schema +0 -32
  206. data/test/tmp.dir/emacs.document +0 -6
  207. data/test/tmp.dir/emacs.schema +0 -6
  208. data/test/tmp.dir/meta1.document +0 -0
  209. data/test/tmp.dir/meta2.document +0 -0
  210. data/test/tmp.dir/meta2.schema +0 -3
  211. data/test/tmp.dir/silent1.schema +0 -3
  212. data/test/tmp.dir/silent2.document +0 -7
  213. data/test/tmp.dir/silent2.schema +0 -3
  214. data/test/tmp.dir/stream.invalid +0 -8
  215. data/test/tmp.dir/stream.schema +0 -3
  216. data/test/tmp.dir/stream.valid +0 -8
  217. data/test/tmp.dir/untabify.document +0 -5
  218. data/test/tmp.dir/untabify.schema +0 -10
  219. data/todo.txt +0 -34
@@ -88,7 +88,7 @@
88
88
  <h3 class="section-bar">Methods</h3>
89
89
 
90
90
  <div class="name-list">
91
- <a href="#M000063">new</a>&nbsp;&nbsp;
91
+ <a href="#M000125">new</a>&nbsp;&nbsp;
92
92
  </div>
93
93
  </div>
94
94
 
@@ -128,26 +128,26 @@
128
128
  <div id="methods">
129
129
  <h3 class="section-bar">Public Class methods</h3>
130
130
 
131
- <div id="method-M000063" class="method-detail">
132
- <a name="M000063"></a>
131
+ <div id="method-M000125" class="method-detail">
132
+ <a name="M000125"></a>
133
133
 
134
134
  <div class="method-heading">
135
- <a href="#M000063" class="method-signature">
135
+ <a href="#M000125" class="method-signature">
136
136
  <span class="method-name">new</span><span class="method-args">(message, option, error_symbol)</span>
137
137
  </a>
138
138
  </div>
139
139
 
140
140
  <div class="method-description">
141
141
  <p><a class="source-toggle" href="#"
142
- onclick="toggleCode('M000063-source');return false;">[Source]</a></p>
143
- <div class="method-source-code" id="M000063-source">
142
+ onclick="toggleCode('M000125-source');return false;">[Source]</a></p>
143
+ <div class="method-source-code" id="M000125-source">
144
144
  <pre>
145
145
  <span class="ruby-comment cmt"># File kwalify/main.rb, line 18</span>
146
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">message</span>, <span class="ruby-identifier">option</span>, <span class="ruby-identifier">error_symbol</span>)
147
- <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">message</span>)
148
- <span class="ruby-ivar">@option</span> = <span class="ruby-identifier">option</span>
149
- <span class="ruby-ivar">@error_symbol</span> = <span class="ruby-identifier">error_symbol</span>
150
- <span class="ruby-keyword kw">end</span>
146
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">message</span>, <span class="ruby-identifier">option</span>, <span class="ruby-identifier">error_symbol</span>)
147
+ <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">message</span>)
148
+ <span class="ruby-ivar">@option</span> = <span class="ruby-identifier">option</span>
149
+ <span class="ruby-ivar">@error_symbol</span> = <span class="ruby-identifier">error_symbol</span>
150
+ <span class="ruby-keyword kw">end</span>
151
151
  </pre>
152
152
  </div>
153
153
  </div>
@@ -80,10 +80,10 @@
80
80
  <h3 class="section-bar">Methods</h3>
81
81
 
82
82
  <div class="name-list">
83
- <a href="#M000023">_build_message</a>&nbsp;&nbsp;
84
- <a href="#M000020">assert_error</a>&nbsp;&nbsp;
85
- <a href="#M000022">schema_error</a>&nbsp;&nbsp;
86
- <a href="#M000021">validate_error</a>&nbsp;&nbsp;
83
+ <a href="#M000018">_build_message</a>&nbsp;&nbsp;
84
+ <a href="#M000015">assert_error</a>&nbsp;&nbsp;
85
+ <a href="#M000017">schema_error</a>&nbsp;&nbsp;
86
+ <a href="#M000016">validate_error</a>&nbsp;&nbsp;
87
87
  </div>
88
88
  </div>
89
89
 
@@ -105,99 +105,104 @@
105
105
  <div id="methods">
106
106
  <h3 class="section-bar">Public Instance methods</h3>
107
107
 
108
- <div id="method-M000023" class="method-detail">
109
- <a name="M000023"></a>
108
+ <div id="method-M000018" class="method-detail">
109
+ <a name="M000018"></a>
110
110
 
111
111
  <div class="method-heading">
112
- <a href="#M000023" class="method-signature">
112
+ <a href="#M000018" class="method-signature">
113
113
  <span class="method-name">_build_message</span><span class="method-args">(message_key, val, args)</span>
114
114
  </a>
115
115
  </div>
116
116
 
117
117
  <div class="method-description">
118
118
  <p><a class="source-toggle" href="#"
119
- onclick="toggleCode('M000023-source');return false;">[Source]</a></p>
120
- <div class="method-source-code" id="M000023-source">
119
+ onclick="toggleCode('M000018-source');return false;">[Source]</a></p>
120
+ <div class="method-source-code" id="M000018-source">
121
121
  <pre>
122
- <span class="ruby-comment cmt"># File kwalify/errors.rb, line 93</span>
123
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">_build_message</span>(<span class="ruby-identifier">message_key</span>, <span class="ruby-identifier">val</span>, <span class="ruby-identifier">args</span>)
124
- <span class="ruby-identifier">msg</span> = <span class="ruby-constant">Kwalify</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">message_key</span>)
125
- <span class="ruby-identifier">assert_error</span>(<span class="ruby-node">&quot;message_key=#{message_key.inspect}&quot;</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">msg</span>
126
- <span class="ruby-identifier">msg</span> = <span class="ruby-identifier">msg</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">args</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">args</span>
127
- <span class="ruby-identifier">msg</span> = <span class="ruby-node">&quot;'#{val.to_s.gsub(/\n/, '\n')}': #{msg}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">val</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">Types</span>.<span class="ruby-identifier">scalar?</span>(<span class="ruby-identifier">val</span>)
128
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">msg</span>;
129
- <span class="ruby-keyword kw">end</span>
122
+ <span class="ruby-comment cmt"># File kwalify/errors.rb, line 114</span>
123
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">_build_message</span>(<span class="ruby-identifier">message_key</span>, <span class="ruby-identifier">val</span>, <span class="ruby-identifier">args</span>)
124
+ <span class="ruby-identifier">msg</span> = <span class="ruby-constant">Kwalify</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">message_key</span>)
125
+ <span class="ruby-identifier">assert_error</span>(<span class="ruby-node">&quot;message_key=#{message_key.inspect}&quot;</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">msg</span>
126
+ <span class="ruby-identifier">msg</span> = <span class="ruby-identifier">msg</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">args</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">args</span>
127
+ <span class="ruby-identifier">msg</span> = <span class="ruby-node">&quot;'#{val.to_s.gsub(/\n/, '\n')}': #{msg}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">val</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">Types</span>.<span class="ruby-identifier">scalar?</span>(<span class="ruby-identifier">val</span>)
128
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">msg</span>;
129
+ <span class="ruby-keyword kw">end</span>
130
130
  </pre>
131
131
  </div>
132
132
  </div>
133
133
  </div>
134
134
 
135
- <div id="method-M000020" class="method-detail">
136
- <a name="M000020"></a>
135
+ <div id="method-M000015" class="method-detail">
136
+ <a name="M000015"></a>
137
137
 
138
138
  <div class="method-heading">
139
- <a href="#M000020" class="method-signature">
139
+ <a href="#M000015" class="method-signature">
140
140
  <span class="method-name">assert_error</span><span class="method-args">(message=&quot;&quot;)</span>
141
141
  </a>
142
142
  </div>
143
143
 
144
144
  <div class="method-description">
145
+ <p>
146
+ module_function
147
+ </p>
145
148
  <p><a class="source-toggle" href="#"
146
- onclick="toggleCode('M000020-source');return false;">[Source]</a></p>
147
- <div class="method-source-code" id="M000020-source">
149
+ onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
150
+ <div class="method-source-code" id="M000015-source">
148
151
  <pre>
149
- <span class="ruby-comment cmt"># File kwalify/errors.rb, line 79</span>
150
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">assert_error</span>(<span class="ruby-identifier">message</span>=<span class="ruby-value str">&quot;&quot;</span>)
151
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">AssertionError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">message</span>)
152
- <span class="ruby-keyword kw">end</span>
152
+ <span class="ruby-comment cmt"># File kwalify/errors.rb, line 97</span>
153
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">assert_error</span>(<span class="ruby-identifier">message</span>=<span class="ruby-value str">&quot;&quot;</span>)
154
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">AssertionError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">message</span>)
155
+ <span class="ruby-keyword kw">end</span>
153
156
  </pre>
154
157
  </div>
155
158
  </div>
156
159
  </div>
157
160
 
158
- <div id="method-M000022" class="method-detail">
159
- <a name="M000022"></a>
161
+ <div id="method-M000017" class="method-detail">
162
+ <a name="M000017"></a>
160
163
 
161
164
  <div class="method-heading">
162
- <a href="#M000022" class="method-signature">
165
+ <a href="#M000017" class="method-signature">
163
166
  <span class="method-name">schema_error</span><span class="method-args">(error_symbol, rule, path, val, args=nil)</span>
164
167
  </a>
165
168
  </div>
166
169
 
167
170
  <div class="method-description">
168
171
  <p><a class="source-toggle" href="#"
169
- onclick="toggleCode('M000022-source');return false;">[Source]</a></p>
170
- <div class="method-source-code" id="M000022-source">
172
+ onclick="toggleCode('M000017-source');return false;">[Source]</a></p>
173
+ <div class="method-source-code" id="M000017-source">
171
174
  <pre>
172
- <span class="ruby-comment cmt"># File kwalify/errors.rb, line 88</span>
173
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">schema_error</span>(<span class="ruby-identifier">error_symbol</span>, <span class="ruby-identifier">rule</span>, <span class="ruby-identifier">path</span>, <span class="ruby-identifier">val</span>, <span class="ruby-identifier">args</span>=<span class="ruby-keyword kw">nil</span>)
174
- <span class="ruby-identifier">msg</span> = <span class="ruby-identifier">_build_message</span>(<span class="ruby-identifier">error_symbol</span>, <span class="ruby-identifier">val</span>, <span class="ruby-identifier">args</span>);
175
- <span class="ruby-keyword kw">return</span> <span class="ruby-constant">SchemaError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">msg</span>, <span class="ruby-identifier">path</span>, <span class="ruby-identifier">val</span>, <span class="ruby-identifier">rule</span>, <span class="ruby-identifier">error_symbol</span>)
176
- <span class="ruby-keyword kw">end</span>
175
+ <span class="ruby-comment cmt"># File kwalify/errors.rb, line 108</span>
176
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">schema_error</span>(<span class="ruby-identifier">error_symbol</span>, <span class="ruby-identifier">rule</span>, <span class="ruby-identifier">path</span>, <span class="ruby-identifier">val</span>, <span class="ruby-identifier">args</span>=<span class="ruby-keyword kw">nil</span>)
177
+ <span class="ruby-identifier">msg</span> = <span class="ruby-identifier">_build_message</span>(<span class="ruby-identifier">error_symbol</span>, <span class="ruby-identifier">val</span>, <span class="ruby-identifier">args</span>);
178
+ <span class="ruby-identifier">path</span> = <span class="ruby-value str">'/'</span><span class="ruby-operator">+</span><span class="ruby-identifier">path</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">'/'</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">path</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
179
+ <span class="ruby-keyword kw">return</span> <span class="ruby-constant">SchemaError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">msg</span>, <span class="ruby-identifier">path</span>, <span class="ruby-identifier">val</span>, <span class="ruby-identifier">rule</span>, <span class="ruby-identifier">error_symbol</span>)
180
+ <span class="ruby-keyword kw">end</span>
177
181
  </pre>
178
182
  </div>
179
183
  </div>
180
184
  </div>
181
185
 
182
- <div id="method-M000021" class="method-detail">
183
- <a name="M000021"></a>
186
+ <div id="method-M000016" class="method-detail">
187
+ <a name="M000016"></a>
184
188
 
185
189
  <div class="method-heading">
186
- <a href="#M000021" class="method-signature">
190
+ <a href="#M000016" class="method-signature">
187
191
  <span class="method-name">validate_error</span><span class="method-args">(error_symbol, rule, path, val, args=nil)</span>
188
192
  </a>
189
193
  </div>
190
194
 
191
195
  <div class="method-description">
192
196
  <p><a class="source-toggle" href="#"
193
- onclick="toggleCode('M000021-source');return false;">[Source]</a></p>
194
- <div class="method-source-code" id="M000021-source">
197
+ onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
198
+ <div class="method-source-code" id="M000016-source">
195
199
  <pre>
196
- <span class="ruby-comment cmt"># File kwalify/errors.rb, line 83</span>
197
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">validate_error</span>(<span class="ruby-identifier">error_symbol</span>, <span class="ruby-identifier">rule</span>, <span class="ruby-identifier">path</span>, <span class="ruby-identifier">val</span>, <span class="ruby-identifier">args</span>=<span class="ruby-keyword kw">nil</span>)
198
- <span class="ruby-identifier">msg</span> = <span class="ruby-identifier">_build_message</span>(<span class="ruby-identifier">error_symbol</span>, <span class="ruby-identifier">val</span>, <span class="ruby-identifier">args</span>);
199
- <span class="ruby-keyword kw">return</span> <span class="ruby-constant">ValidationError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">msg</span>, <span class="ruby-identifier">path</span>, <span class="ruby-identifier">val</span>, <span class="ruby-identifier">rule</span>, <span class="ruby-identifier">error_symbol</span>)
200
- <span class="ruby-keyword kw">end</span>
200
+ <span class="ruby-comment cmt"># File kwalify/errors.rb, line 101</span>
201
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">validate_error</span>(<span class="ruby-identifier">error_symbol</span>, <span class="ruby-identifier">rule</span>, <span class="ruby-identifier">path</span>, <span class="ruby-identifier">val</span>, <span class="ruby-identifier">args</span>=<span class="ruby-keyword kw">nil</span>)
202
+ <span class="ruby-identifier">msg</span> = <span class="ruby-identifier">_build_message</span>(<span class="ruby-identifier">error_symbol</span>, <span class="ruby-identifier">val</span>, <span class="ruby-identifier">args</span>);
203
+ <span class="ruby-identifier">path</span> = <span class="ruby-value str">'/'</span><span class="ruby-operator">+</span><span class="ruby-identifier">path</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">'/'</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">path</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
204
+ <span class="ruby-keyword kw">return</span> <span class="ruby-constant">ValidationError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">msg</span>, <span class="ruby-identifier">path</span>, <span class="ruby-identifier">val</span>, <span class="ruby-identifier">rule</span>, <span class="ruby-identifier">error_symbol</span>)
205
+ <span class="ruby-keyword kw">end</span>
201
206
  </pre>
202
207
  </div>
203
208
  </div>
@@ -72,161 +72,39 @@
72
72
 
73
73
  <div id="contextContent">
74
74
 
75
+ <div id="description">
76
+ <p>
77
+ OBSOLETE: use Hash::Util::HashLike instead.
78
+ </p>
75
79
 
80
+ </div>
76
81
 
77
- </div>
78
82
 
79
- <div id="method-list">
80
- <h3 class="section-bar">Methods</h3>
83
+ </div>
81
84
 
82
- <div class="name-list">
83
- <a href="#M000015">[]</a>&nbsp;&nbsp;
84
- <a href="#M000016">[]=</a>&nbsp;&nbsp;
85
- <a href="#M000019">each</a>&nbsp;&nbsp;
86
- <a href="#M000018">key?</a>&nbsp;&nbsp;
87
- <a href="#M000017">keys</a>&nbsp;&nbsp;
88
- </div>
89
- </div>
90
85
 
91
86
  </div>
92
87
 
93
88
 
94
89
  <!-- if includes -->
90
+ <div id="includes">
91
+ <h3 class="section-bar">Included Modules</h3>
95
92
 
96
- <div id="section">
97
-
98
-
99
-
100
-
101
-
102
-
103
-
104
-
105
- <!-- if method_list -->
106
- <div id="methods">
107
- <h3 class="section-bar">Public Instance methods</h3>
108
-
109
- <div id="method-M000015" class="method-detail">
110
- <a name="M000015"></a>
111
-
112
- <div class="method-heading">
113
- <a href="#M000015" class="method-signature">
114
- <span class="method-name">[]</span><span class="method-args">(key)</span>
115
- </a>
116
- </div>
117
-
118
- <div class="method-description">
119
- <p><a class="source-toggle" href="#"
120
- onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
121
- <div class="method-source-code" id="M000015-source">
122
- <pre>
123
- <span class="ruby-comment cmt"># File kwalify/util/hash-interface.rb, line 11</span>
124
- <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">key</span>)
125
- <span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-value str">&quot;@{key}&quot;</span>)
126
- <span class="ruby-keyword kw">end</span>
127
- </pre>
128
- </div>
129
- </div>
93
+ <div id="includes-list">
94
+ <span class="include-name"><a href="Util/HashLike.html">Kwalify::Util::HashLike</a></span>
130
95
  </div>
96
+ </div>
131
97
 
132
- <div id="method-M000016" class="method-detail">
133
- <a name="M000016"></a>
98
+ <div id="section">
134
99
 
135
- <div class="method-heading">
136
- <a href="#M000016" class="method-signature">
137
- <span class="method-name">[]=</span><span class="method-args">(key, val)</span>
138
- </a>
139
- </div>
140
-
141
- <div class="method-description">
142
- <p><a class="source-toggle" href="#"
143
- onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
144
- <div class="method-source-code" id="M000016-source">
145
- <pre>
146
- <span class="ruby-comment cmt"># File kwalify/util/hash-interface.rb, line 15</span>
147
- <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]=</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">val</span>)
148
- <span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-value str">&quot;@{key}&quot;</span>, <span class="ruby-identifier">val</span>)
149
- <span class="ruby-keyword kw">end</span>
150
- </pre>
151
- </div>
152
- </div>
153
- </div>
154
100
 
155
- <div id="method-M000019" class="method-detail">
156
- <a name="M000019"></a>
157
101
 
158
- <div class="method-heading">
159
- <a href="#M000019" class="method-signature">
160
- <span class="method-name">each</span><span class="method-args">() {|key, val| ...}</span>
161
- </a>
162
- </div>
163
-
164
- <div class="method-description">
165
- <p><a class="source-toggle" href="#"
166
- onclick="toggleCode('M000019-source');return false;">[Source]</a></p>
167
- <div class="method-source-code" id="M000019-source">
168
- <pre>
169
- <span class="ruby-comment cmt"># File kwalify/util/hash-interface.rb, line 27</span>
170
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>
171
- <span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span><span class="ruby-operator">|</span>
172
- <span class="ruby-identifier">key</span> = <span class="ruby-identifier">name</span>[<span class="ruby-value">1</span>, <span class="ruby-identifier">name</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>]
173
- <span class="ruby-identifier">val</span> = <span class="ruby-identifier">instance_varaible_get</span>(<span class="ruby-identifier">name</span>)
174
- <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">val</span>)
175
- <span class="ruby-keyword kw">end</span>
176
- <span class="ruby-keyword kw">end</span>
177
- </pre>
178
- </div>
179
- </div>
180
- </div>
181
102
 
182
- <div id="method-M000018" class="method-detail">
183
- <a name="M000018"></a>
184
103
 
185
- <div class="method-heading">
186
- <a href="#M000018" class="method-signature">
187
- <span class="method-name">key?</span><span class="method-args">(key)</span>
188
- </a>
189
- </div>
190
104
 
191
- <div class="method-description">
192
- <p><a class="source-toggle" href="#"
193
- onclick="toggleCode('M000018-source');return false;">[Source]</a></p>
194
- <div class="method-source-code" id="M000018-source">
195
- <pre>
196
- <span class="ruby-comment cmt"># File kwalify/util/hash-interface.rb, line 23</span>
197
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">key?</span>(<span class="ruby-identifier">key</span>)
198
- <span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-node">&quot;@#{key}&quot;</span>)
199
- <span class="ruby-keyword kw">end</span>
200
- </pre>
201
- </div>
202
- </div>
203
- </div>
204
-
205
- <div id="method-M000017" class="method-detail">
206
- <a name="M000017"></a>
207
105
 
208
- <div class="method-heading">
209
- <a href="#M000017" class="method-signature">
210
- <span class="method-name">keys</span><span class="method-args">()</span>
211
- </a>
212
- </div>
213
-
214
- <div class="method-description">
215
- <p><a class="source-toggle" href="#"
216
- onclick="toggleCode('M000017-source');return false;">[Source]</a></p>
217
- <div class="method-source-code" id="M000017-source">
218
- <pre>
219
- <span class="ruby-comment cmt"># File kwalify/util/hash-interface.rb, line 19</span>
220
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">keys</span>()
221
- <span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">collect</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">name</span><span class="ruby-operator">|</span> <span class="ruby-identifier">name</span>[<span class="ruby-value">1</span>, <span class="ruby-identifier">name</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>] }
222
- <span class="ruby-keyword kw">end</span>
223
- </pre>
224
- </div>
225
- </div>
226
- </div>
227
106
 
228
-
229
- </div>
107
+ <!-- if method_list -->
230
108
 
231
109
 
232
110
  </div>
@@ -0,0 +1,105 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Module: Kwalify::Json</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Module</strong></td>
53
+ <td class="class-name-in-header">Kwalify::Json</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/kwalify_rb.html">
59
+ kwalify.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ </table>
66
+ </div>
67
+ <!-- banner header -->
68
+
69
+ <div id="bodyContent">
70
+
71
+
72
+
73
+ <div id="contextContent">
74
+
75
+
76
+
77
+ </div>
78
+
79
+
80
+ </div>
81
+
82
+
83
+ <!-- if includes -->
84
+
85
+ <div id="section">
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+ <!-- if method_list -->
95
+
96
+
97
+ </div>
98
+
99
+
100
+ <div id="validator-badges">
101
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
102
+ </div>
103
+
104
+ </body>
105
+ </html>