IOWA 1.0.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 (502) hide show
  1. checksums.yaml +7 -0
  2. data/CONTRIBUTORS +14 -0
  3. data/README.md +23 -0
  4. data/RELEASE_NOTES +77 -0
  5. data/ToDo +21 -0
  6. data/components/CRUDList/CRUDList.html +13 -0
  7. data/components/CRUDList/CRUDList.iwa +136 -0
  8. data/components/Content/Content.html +0 -0
  9. data/components/Content/Content.iwa +143 -0
  10. data/components/Content/example/README +9 -0
  11. data/components/Content/example/cgi/iowa.cgi +10 -0
  12. data/components/Content/example/demo.rb +30 -0
  13. data/components/Content/example/doc/index.html +7 -0
  14. data/components/Content/example/iowa/Content.html +1 -0
  15. data/components/Content/example/iowa/Content.iwa +1 -0
  16. data/components/Content/example/iowa/Main.html +6 -0
  17. data/components/Content/example/iowa/Main.iwa +3 -0
  18. data/components/Content/example/iowa/_content/body +7 -0
  19. data/components/Content/example/iowa/_content/body2 +3 -0
  20. data/components/Content/example/iowa/_content/title +2 -0
  21. data/components/Content/example/iowa/app.cnf +8 -0
  22. data/components/Content/example/iowa/app.rb +8 -0
  23. data/components/Content/example/webrick.rb +38 -0
  24. data/components/Include/Include.html +1 -0
  25. data/components/Include/Include.iwa +30 -0
  26. data/components/Include/readme +5 -0
  27. data/components/JumpTo/JumpTo.html +8 -0
  28. data/components/JumpTo/JumpTo.iwa +8 -0
  29. data/components/JumpTo/readme +6 -0
  30. data/doc/Architecture.txt +6 -0
  31. data/doc/History.txt +33 -0
  32. data/doc/StandardDispatcher.txt +19 -0
  33. data/examples/blog/README +1 -0
  34. data/examples/hello_world/README +17 -0
  35. data/examples/hello_world/htdocs/hello_world_html.html +24 -0
  36. data/examples/hello_world/htdocs/hello_world_ruby.html +41 -0
  37. data/examples/hello_world/iowa/HelloWorld.html +14 -0
  38. data/examples/hello_world/iowa/HelloWorld.iwa +31 -0
  39. data/examples/hello_world/iowa/Index.html +16 -0
  40. data/examples/hello_world/iowa/Index.iwa +5 -0
  41. data/examples/hello_world/iowa/iowa_hello_world.cnf +19 -0
  42. data/examples/hello_world/iowa/iowa_hello_world.rb +5 -0
  43. data/examples/hello_world/iowa/mapfile.cnf +6 -0
  44. data/examples/hw1/iowa/Main.html +1 -0
  45. data/examples/hw1/iowa/README +9 -0
  46. data/examples/hw1/iowa/hw.rb +4 -0
  47. data/examples/hw2/iowa/Main.html +10 -0
  48. data/examples/hw2/iowa/Main.iwa +7 -0
  49. data/examples/hw2/iowa/README +16 -0
  50. data/examples/hw2/iowa/hw.rb +4 -0
  51. data/examples/hw3/iowa/Main.html +11 -0
  52. data/examples/hw3/iowa/Main.iwa +7 -0
  53. data/examples/hw3/iowa/README +22 -0
  54. data/examples/hw3/iowa/hw.rb +4 -0
  55. data/examples/hw4/iowa/Greetings.html +10 -0
  56. data/examples/hw4/iowa/Greetings.iwa +9 -0
  57. data/examples/hw4/iowa/Main.html +12 -0
  58. data/examples/hw4/iowa/Main.iwa +10 -0
  59. data/examples/hw4/iowa/README +28 -0
  60. data/examples/hw4/iowa/hw.rb +4 -0
  61. data/examples/hw5/iowa/Footer.html +2 -0
  62. data/examples/hw5/iowa/Greetings.html +4 -0
  63. data/examples/hw5/iowa/Greetings.iwa +12 -0
  64. data/examples/hw5/iowa/Header.html +6 -0
  65. data/examples/hw5/iowa/Main.html +12 -0
  66. data/examples/hw5/iowa/Main.iwa +13 -0
  67. data/examples/hw5/iowa/README +16 -0
  68. data/examples/hw5/iowa/hw.rb +4 -0
  69. data/examples/template_server/iowa/Content.iwa +121 -0
  70. data/examples/template_server/iowa/Content.view +0 -0
  71. data/examples/template_server/iowa/DBContentDispatcher.rb +112 -0
  72. data/examples/template_server/iowa/DBContentPage.html +3 -0
  73. data/examples/template_server/iowa/DBContentPage.iwa +85 -0
  74. data/examples/template_server/iowa/app.cnf +13 -0
  75. data/examples/template_server/iowa/app.rb +5 -0
  76. data/ext/Classifier/classifier.c +256 -0
  77. data/ext/Classifier/ext_help.h +14 -0
  78. data/ext/Classifier/extconf.rb +5 -0
  79. data/ext/Classifier/tst.h +40 -0
  80. data/ext/Classifier/tst_cleanup.c +24 -0
  81. data/ext/Classifier/tst_delete.c +146 -0
  82. data/ext/Classifier/tst_grow_node_free_list.c +38 -0
  83. data/ext/Classifier/tst_init.c +41 -0
  84. data/ext/Classifier/tst_insert.c +192 -0
  85. data/ext/Classifier/tst_search.c +68 -0
  86. data/ext/http11/README +11 -0
  87. data/ext/http11/ext_help.h +15 -0
  88. data/ext/http11/extconf.rb +5 -0
  89. data/ext/http11/http11.c +534 -0
  90. data/ext/http11/http11.c.dif +422 -0
  91. data/ext/http11/http11_parser.c +1243 -0
  92. data/ext/http11/http11_parser.c.dif +193 -0
  93. data/ext/http11/http11_parser.h +49 -0
  94. data/ext/http11/http11_parser.h.dif +20 -0
  95. data/ext/http11/http11_parser.rl +192 -0
  96. data/ext/httpmachine/Makefile +149 -0
  97. data/ext/httpmachine/extconf.rb +33 -0
  98. data/ext/httpmachine/http.cpp +430 -0
  99. data/ext/httpmachine/http.h +156 -0
  100. data/ext/httpmachine/rubyhttp.cpp +165 -0
  101. data/external/mime-types/LICENCE +18 -0
  102. data/external/mime-types/README +46 -0
  103. data/external/mime-types/doc/classes/MIME.html +120 -0
  104. data/external/mime-types/doc/classes/MIME/InvalidContentType.html +119 -0
  105. data/external/mime-types/doc/classes/MIME/Type.html +866 -0
  106. data/external/mime-types/doc/classes/MIME/Type.src/M000010.html +22 -0
  107. data/external/mime-types/doc/classes/MIME/Type.src/M000011.html +18 -0
  108. data/external/mime-types/doc/classes/MIME/Type.src/M000012.html +19 -0
  109. data/external/mime-types/doc/classes/MIME/Type.src/M000013.html +18 -0
  110. data/external/mime-types/doc/classes/MIME/Type.src/M000014.html +26 -0
  111. data/external/mime-types/doc/classes/MIME/Type.src/M000015.html +33 -0
  112. data/external/mime-types/doc/classes/MIME/Type.src/M000016.html +27 -0
  113. data/external/mime-types/doc/classes/MIME/Type.src/M000017.html +35 -0
  114. data/external/mime-types/doc/classes/MIME/Type.src/M000018.html +34 -0
  115. data/external/mime-types/doc/classes/MIME/Type.src/M000019.html +24 -0
  116. data/external/mime-types/doc/classes/MIME/Type.src/M000020.html +38 -0
  117. data/external/mime-types/doc/classes/MIME/Type.src/M000021.html +22 -0
  118. data/external/mime-types/doc/classes/MIME/Type.src/M000022.html +18 -0
  119. data/external/mime-types/doc/classes/MIME/Type.src/M000023.html +18 -0
  120. data/external/mime-types/doc/classes/MIME/Type.src/M000024.html +18 -0
  121. data/external/mime-types/doc/classes/MIME/Type.src/M000025.html +18 -0
  122. data/external/mime-types/doc/classes/MIME/Type.src/M000026.html +18 -0
  123. data/external/mime-types/doc/classes/MIME/Type.src/M000027.html +18 -0
  124. data/external/mime-types/doc/classes/MIME/Type.src/M000028.html +18 -0
  125. data/external/mime-types/doc/classes/MIME/Type.src/M000029.html +18 -0
  126. data/external/mime-types/doc/classes/MIME/Type.src/M000030.html +19 -0
  127. data/external/mime-types/doc/classes/MIME/Type.src/M000031.html +26 -0
  128. data/external/mime-types/doc/classes/MIME/Types.html +459 -0
  129. data/external/mime-types/doc/classes/MIME/Types.src/M000001.html +19 -0
  130. data/external/mime-types/doc/classes/MIME/Types.src/M000002.html +32 -0
  131. data/external/mime-types/doc/classes/MIME/Types.src/M000003.html +21 -0
  132. data/external/mime-types/doc/classes/MIME/Types.src/M000004.html +18 -0
  133. data/external/mime-types/doc/classes/MIME/Types.src/M000005.html +26 -0
  134. data/external/mime-types/doc/classes/MIME/Types.src/M000006.html +18 -0
  135. data/external/mime-types/doc/classes/MIME/Types.src/M000007.html +18 -0
  136. data/external/mime-types/doc/classes/MIME/Types.src/M000008.html +18 -0
  137. data/external/mime-types/doc/classes/MIME/Types.src/M000009.html +18 -0
  138. data/external/mime-types/doc/created.rid +1 -0
  139. data/external/mime-types/doc/files/ChangeLog.html +320 -0
  140. data/external/mime-types/doc/files/README.html +145 -0
  141. data/external/mime-types/doc/files/lib/mime/types_rb.html +101 -0
  142. data/external/mime-types/doc/fr_class_index.html +30 -0
  143. data/external/mime-types/doc/fr_file_index.html +29 -0
  144. data/external/mime-types/doc/fr_method_index.html +57 -0
  145. data/external/mime-types/doc/index.html +24 -0
  146. data/external/mime-types/doc/rdoc-style.css +208 -0
  147. data/external/mime-types/lib/mime/types.rb +1558 -0
  148. data/external/package.rb +672 -0
  149. data/external/test_support.rb +95 -0
  150. data/external/tmail/README +7 -0
  151. data/external/tmail/tmail.rb +4 -0
  152. data/external/tmail/tmail/address.rb +222 -0
  153. data/external/tmail/tmail/base64.rb +52 -0
  154. data/external/tmail/tmail/compat.rb +39 -0
  155. data/external/tmail/tmail/config.rb +50 -0
  156. data/external/tmail/tmail/encode.rb +447 -0
  157. data/external/tmail/tmail/header.rb +895 -0
  158. data/external/tmail/tmail/info.rb +14 -0
  159. data/external/tmail/tmail/loader.rb +1 -0
  160. data/external/tmail/tmail/mail.rb +869 -0
  161. data/external/tmail/tmail/mailbox.rb +386 -0
  162. data/external/tmail/tmail/mbox.rb +1 -0
  163. data/external/tmail/tmail/net.rb +260 -0
  164. data/external/tmail/tmail/obsolete.rb +123 -0
  165. data/external/tmail/tmail/parser.rb +1475 -0
  166. data/external/tmail/tmail/parser.y +372 -0
  167. data/external/tmail/tmail/port.rb +356 -0
  168. data/external/tmail/tmail/scanner.rb +17 -0
  169. data/external/tmail/tmail/scanner_r.rb +243 -0
  170. data/external/tmail/tmail/stringio.rb +256 -0
  171. data/external/tmail/tmail/textutils.rb +197 -0
  172. data/external/tmail/tmail/tmail.rb +1 -0
  173. data/external/tmail/tmail/utils.rb +23 -0
  174. data/external/win32-process/README +133 -0
  175. data/external/win32-process/lib/win32/process.rb +561 -0
  176. data/external/windows-pr/README +145 -0
  177. data/external/windows-pr/doc/conversion_guide.txt +25 -0
  178. data/external/windows-pr/lib/windows/clipboard.rb +72 -0
  179. data/external/windows-pr/lib/windows/console.rb +323 -0
  180. data/external/windows-pr/lib/windows/device_io.rb +88 -0
  181. data/external/windows-pr/lib/windows/directory.rb +80 -0
  182. data/external/windows-pr/lib/windows/error.rb +313 -0
  183. data/external/windows-pr/lib/windows/eventlog.rb +120 -0
  184. data/external/windows-pr/lib/windows/file.rb +349 -0
  185. data/external/windows-pr/lib/windows/filesystem.rb +16 -0
  186. data/external/windows-pr/lib/windows/handle.rb +31 -0
  187. data/external/windows-pr/lib/windows/library.rb +76 -0
  188. data/external/windows-pr/lib/windows/limits.rb +13 -0
  189. data/external/windows-pr/lib/windows/memory.rb +117 -0
  190. data/external/windows-pr/lib/windows/msvcrt/buffer.rb +48 -0
  191. data/external/windows-pr/lib/windows/msvcrt/file.rb +18 -0
  192. data/external/windows-pr/lib/windows/msvcrt/string.rb +46 -0
  193. data/external/windows-pr/lib/windows/national.rb +557 -0
  194. data/external/windows-pr/lib/windows/path.rb +296 -0
  195. data/external/windows-pr/lib/windows/pipe.rb +77 -0
  196. data/external/windows-pr/lib/windows/process.rb +171 -0
  197. data/external/windows-pr/lib/windows/registry.rb +238 -0
  198. data/external/windows-pr/lib/windows/security.rb +89 -0
  199. data/external/windows-pr/lib/windows/service.rb +183 -0
  200. data/external/windows-pr/lib/windows/shell.rb +88 -0
  201. data/external/windows-pr/lib/windows/sound.rb +52 -0
  202. data/external/windows-pr/lib/windows/synchronize.rb +161 -0
  203. data/external/windows-pr/lib/windows/system_info.rb +70 -0
  204. data/external/windows-pr/lib/windows/unicode.rb +138 -0
  205. data/external/windows-pr/lib/windows/window.rb +22 -0
  206. data/iowa.gemspec +45 -0
  207. data/microprojects/DiskCache/LICENSE +28 -0
  208. data/microprojects/DiskCache/README +17 -0
  209. data/microprojects/DiskCache/external/package.rb +608 -0
  210. data/microprojects/DiskCache/external/test_support.rb +8 -0
  211. data/microprojects/DiskCache/setup.rb +22 -0
  212. data/microprojects/DiskCache/src/iowa/Association.rb +67 -0
  213. data/microprojects/DiskCache/src/iowa/Constants.rb +159 -0
  214. data/microprojects/DiskCache/src/iowa/DiskStore.rb +377 -0
  215. data/microprojects/DiskCache/src/iowa/Hash.rb +63 -0
  216. data/microprojects/DiskCache/src/iowa/Lockfile.rb +575 -0
  217. data/microprojects/DiskCache/src/iowa/Mutex.rb +142 -0
  218. data/microprojects/DiskCache/src/iowa/caches/DiskCache.rb +605 -0
  219. data/microprojects/DiskCache/src/iowa/caches/LRUCache.rb +287 -0
  220. data/microprojects/DiskCache/test/TC_DiskCache.rb +218 -0
  221. data/microprojects/LRUCache/LICENSE +28 -0
  222. data/microprojects/LRUCache/README +13 -0
  223. data/microprojects/LRUCache/external/package.rb +608 -0
  224. data/microprojects/LRUCache/external/test_support.rb +8 -0
  225. data/microprojects/LRUCache/setup.rb +22 -0
  226. data/microprojects/LRUCache/src/iowa/Association.rb +57 -0
  227. data/microprojects/LRUCache/src/iowa/Constants.rb +159 -0
  228. data/microprojects/LRUCache/src/iowa/Hash.rb +63 -0
  229. data/microprojects/LRUCache/src/iowa/Mutex.rb +129 -0
  230. data/microprojects/LRUCache/src/iowa/caches/LRUCache.rb +287 -0
  231. data/microprojects/LRUCache/test/TC_LRUCache.rb +65 -0
  232. data/microprojects/LinkedList/LICENSE +28 -0
  233. data/microprojects/LinkedList/README +13 -0
  234. data/microprojects/LinkedList/external/package.rb +608 -0
  235. data/microprojects/LinkedList/external/test_support.rb +8 -0
  236. data/microprojects/LinkedList/setup.rb +22 -0
  237. data/microprojects/LinkedList/src/iowa/LinkedList.rb +165 -0
  238. data/microprojects/LinkedList/test/TC_LinkedList.rb +42 -0
  239. data/microprojects/README +8 -0
  240. data/setup.rb +116 -0
  241. data/share/iowa/app_skeleton/Main.html +8 -0
  242. data/share/iowa/app_skeleton/Main.iwa +15 -0
  243. data/share/iowa/app_skeleton/app.cnf +48 -0
  244. data/share/iowa/app_skeleton/app.rb +58 -0
  245. data/share/iowa/app_skeleton/models/model.rb +49 -0
  246. data/src/ihc.rb +223 -0
  247. data/src/iowa.cgi +29 -0
  248. data/src/iowa.rb +637 -0
  249. data/src/iowa/AbstractCache.rb +96 -0
  250. data/src/iowa/AcceptLanguage.rb +76 -0
  251. data/src/iowa/Application.rb +928 -0
  252. data/src/iowa/ApplicationStats.rb +72 -0
  253. data/src/iowa/Association.rb +67 -0
  254. data/src/iowa/BindingsParser.rb +62 -0
  255. data/src/iowa/Breakpoint.rb +273 -0
  256. data/src/iowa/CSS.rb +564 -0
  257. data/src/iowa/Client.rb +192 -0
  258. data/src/iowa/Component.rb +405 -0
  259. data/src/iowa/ComponentProxy.rb +26 -0
  260. data/src/iowa/Config.rb +21 -0
  261. data/src/iowa/Constants.rb +226 -0
  262. data/src/iowa/Context.rb +218 -0
  263. data/src/iowa/ContextLogger.rb +16 -0
  264. data/src/iowa/DbPool.rb +222 -0
  265. data/src/iowa/DetachedComponent.rb +18 -0
  266. data/src/iowa/Dispatcher.rb +27 -0
  267. data/src/iowa/DynamicElements.rb +471 -0
  268. data/src/iowa/Element.rb +100 -0
  269. data/src/iowa/Email.rb +287 -0
  270. data/src/iowa/Extensions/AllExtensions.rb +4 -0
  271. data/src/iowa/Extensions/Class.rb +94 -0
  272. data/src/iowa/Extensions/Date.rb +88 -0
  273. data/src/iowa/Extensions/DateTime.rb +88 -0
  274. data/src/iowa/Extensions/Hash.rb +22 -0
  275. data/src/iowa/Extensions/Kernel.rb +6 -0
  276. data/src/iowa/Extensions/Numeric.rb +47 -0
  277. data/src/iowa/Extensions/Object.rb +11 -0
  278. data/src/iowa/Extensions/String.rb +60 -0
  279. data/src/iowa/Extensions/Time.rb +89 -0
  280. data/src/iowa/Extensions/TimeExtensions.rb +6 -0
  281. data/src/iowa/Form.rb +368 -0
  282. data/src/iowa/Hash.rb +85 -0
  283. data/src/iowa/ISAAC.rb +175 -0
  284. data/src/iowa/ImageSize.rb +279 -0
  285. data/src/iowa/IowaComponentMixins.rb +7 -0
  286. data/src/iowa/JSON-lexer.rb +296 -0
  287. data/src/iowa/JSON-objects.rb +201 -0
  288. data/src/iowa/KeyValueCoding.rb +91 -0
  289. data/src/iowa/LinkedList.rb +175 -0
  290. data/src/iowa/Loader.rb +22 -0
  291. data/src/iowa/Lockfile.rb +575 -0
  292. data/src/iowa/Logger.rb +74 -0
  293. data/src/iowa/Monkey.rb +20 -0
  294. data/src/iowa/Mutex.rb +142 -0
  295. data/src/iowa/Policy.rb +70 -0
  296. data/src/iowa/Pool.rb +243 -0
  297. data/src/iowa/PrettyException.rb +1091 -0
  298. data/src/iowa/Request.rb +244 -0
  299. data/src/iowa/Response.rb +133 -0
  300. data/src/iowa/Session.rb +354 -0
  301. data/src/iowa/SessionStats.rb +78 -0
  302. data/src/iowa/String.rb +65 -0
  303. data/src/iowa/Tag.rb +101 -0
  304. data/src/iowa/TemplateParser.rb +236 -0
  305. data/src/iowa/Util.rb +314 -0
  306. data/src/iowa/Webcache.rb +122 -0
  307. data/src/iowa/caches/BiLevelCache.rb +65 -0
  308. data/src/iowa/caches/ClassLimitedCache.rb +67 -0
  309. data/src/iowa/caches/DiskCache.rb +609 -0
  310. data/src/iowa/caches/DiskStore.rb +380 -0
  311. data/src/iowa/caches/LRUCache-alternative.rb +155 -0
  312. data/src/iowa/caches/LRUCache.rb +290 -0
  313. data/src/iowa/caches/SimpleLRUCache.rb +112 -0
  314. data/src/iowa/dispatchers/StandardDispatcher.rb +396 -0
  315. data/src/iowa/dispatchers/StandardDispatcherWithClassifier.rb +93 -0
  316. data/src/iowa/js/iowa_jsonrpc.js +381 -0
  317. data/src/iowa/js/jsonrpc.js +187 -0
  318. data/src/iowa/js/jsonrpc_async.js +261 -0
  319. data/src/iowa/loaders/DiskLoader.rb +50 -0
  320. data/src/iowa/loggers/Analogger.rb +54 -0
  321. data/src/iowa/loggers/AsyncLogger.rb +54 -0
  322. data/src/iowa/loggers/BitBucket.rb +38 -0
  323. data/src/iowa/loggers/Log4R.rb +13 -0
  324. data/src/iowa/loggers/Log4rLogger.rb +48 -0
  325. data/src/iowa/loggers/Logger.rb +29 -0
  326. data/src/iowa/loggers/RubyLogger.rb +9 -0
  327. data/src/iowa/pools/DBConnectionPool.rb +53 -0
  328. data/src/iowa/request/Apache.rb +90 -0
  329. data/src/iowa/request/EMHybrid.rb +59 -0
  330. data/src/iowa/request/ENV.rb +80 -0
  331. data/src/iowa/request/FCGI.rb +68 -0
  332. data/src/iowa/request/HTTPMachine.rb +75 -0
  333. data/src/iowa/request/Mongrel.rb +68 -0
  334. data/src/iowa/request/WEBrick.rb +48 -0
  335. data/src/iowa/version.rb +3 -0
  336. data/src/iowa/webrick/HTTPServer.rb +43 -0
  337. data/src/iowa/webrick/WEBrickServlet.rb +28 -0
  338. data/src/iowa_fcgi_handler.rb +101 -0
  339. data/src/iowa_httpmachine.rb +141 -0
  340. data/src/iowa_hybrid.rb +193 -0
  341. data/src/iowa_hybrid_cluster.rb +231 -0
  342. data/src/iowa_mongrel.rb +136 -0
  343. data/src/iowa_webrick.rb +194 -0
  344. data/src/iowa_webrick_legacy.rb +104 -0
  345. data/src/mod_iowa.rb +104 -0
  346. data/tcss.rb +61 -0
  347. data/test/README.windows +12 -0
  348. data/test/TC_AcceptLanguage.rb +61 -0
  349. data/test/TC_AppConfig.rb +43 -0
  350. data/test/TC_AppConfig/cgi/iowa.cgi +7 -0
  351. data/test/TC_AppConfig/doc/index.html +1 -0
  352. data/test/TC_AppConfig/iowa/Main.html +4 -0
  353. data/test/TC_AppConfig/iowa/Main.iwa +17 -0
  354. data/test/TC_AppConfig/iowa/README +1 -0
  355. data/test/TC_AppConfig/iowa/app.cnf +19 -0
  356. data/test/TC_AppConfig/iowa/app.rb +8 -0
  357. data/test/TC_AppConfig/webrick.rb +38 -0
  358. data/test/TC_Association.rb +29 -0
  359. data/test/TC_BiLevelCache.rb +71 -0
  360. data/test/TC_CGI_Adaptor.rb +55 -0
  361. data/test/TC_CGI_Adaptor/cgi/iowa.cgi +7 -0
  362. data/test/TC_CGI_Adaptor/doc/index.html +1 -0
  363. data/test/TC_CGI_Adaptor/iowa/Main.html +8 -0
  364. data/test/TC_CGI_Adaptor/iowa/Main.iwa +14 -0
  365. data/test/TC_CGI_Adaptor/iowa/README +1 -0
  366. data/test/TC_CGI_Adaptor/iowa/app.cnf +8 -0
  367. data/test/TC_CGI_Adaptor/iowa/app.rb +8 -0
  368. data/test/TC_CGI_Adaptor/webrick.rb +38 -0
  369. data/test/TC_CSS.rb +660 -0
  370. data/test/TC_ClassLimitedCache.rb +89 -0
  371. data/test/TC_Classifier.rb +80 -0
  372. data/test/TC_DbPool.rb +127 -0
  373. data/test/TC_DiskCache.rb +218 -0
  374. data/test/TC_Hybrid.rb +58 -0
  375. data/test/TC_Hybrid/doc/thing.txt +1 -0
  376. data/test/TC_Hybrid/iowa/Main.html +3 -0
  377. data/test/TC_Hybrid/iowa/Main.iwa +7 -0
  378. data/test/TC_Hybrid/iowa/NewPage.html +1 -0
  379. data/test/TC_Hybrid/iowa/NewPage.iwa +5 -0
  380. data/test/TC_Hybrid/iowa/app.cnf +10 -0
  381. data/test/TC_Hybrid/iowa/app.rb +5 -0
  382. data/test/TC_IOWAFunctions/doc/Ajax1.html +1 -0
  383. data/test/TC_IOWAFunctions/doc/Ajax1.iwa +1 -0
  384. data/test/TC_IOWAFunctions/doc/index.html +1 -0
  385. data/test/TC_IOWAFunctions/doc/js/dojo.js +9686 -0
  386. data/test/TC_IOWAFunctions/iowa/Ajax1.html +40 -0
  387. data/test/TC_IOWAFunctions/iowa/Ajax1.iwa +23 -0
  388. data/test/TC_IOWAFunctions/iowa/AjaxWidget.iwa +19 -0
  389. data/test/TC_IOWAFunctions/iowa/AjaxWidget.view +22 -0
  390. data/test/TC_IOWAFunctions/iowa/DanielTest.html +9 -0
  391. data/test/TC_IOWAFunctions/iowa/DanielTest.iwa +10 -0
  392. data/test/TC_IOWAFunctions/iowa/IntervalWidget.html +1 -0
  393. data/test/TC_IOWAFunctions/iowa/IntervalWidget.iwa +14 -0
  394. data/test/TC_IOWAFunctions/iowa/Main.html +1 -0
  395. data/test/TC_IOWAFunctions/iowa/NestedRepeat1.html +12 -0
  396. data/test/TC_IOWAFunctions/iowa/NestedRepeat1.iwa +24 -0
  397. data/test/TC_IOWAFunctions/iowa/RPCResponse.iwa +7 -0
  398. data/test/TC_IOWAFunctions/iowa/RPCResponse.view +1 -0
  399. data/test/TC_IOWAFunctions/iowa/Repeat1.iwa +31 -0
  400. data/test/TC_IOWAFunctions/iowa/Repeat1.view +9 -0
  401. data/test/TC_IOWAFunctions/iowa/Repeat2.iwa +32 -0
  402. data/test/TC_IOWAFunctions/iowa/Repeat2.view +11 -0
  403. data/test/TC_IOWAFunctions/iowa/Repeat3.iwa +44 -0
  404. data/test/TC_IOWAFunctions/iowa/Repeat3.view +18 -0
  405. data/test/TC_IOWAFunctions/iowa/TesCon.html +1 -0
  406. data/test/TC_IOWAFunctions/iowa/TesCon.iwa +5 -0
  407. data/test/TC_IOWAFunctions/iowa/app.cnf +19 -0
  408. data/test/TC_IOWAFunctions/iowa/app.rb +9 -0
  409. data/test/TC_IOWAFunctions/iowa/mapfile.cnf +8 -0
  410. data/test/TC_ISAAC.rb +52 -0
  411. data/test/TC_ImageSize.rb +84 -0
  412. data/test/TC_ImageSize/img.bmp +0 -0
  413. data/test/TC_ImageSize/img.gif +0 -0
  414. data/test/TC_ImageSize/img.jpg +0 -0
  415. data/test/TC_ImageSize/img.pcx +0 -0
  416. data/test/TC_ImageSize/img.pgm +7144 -0
  417. data/test/TC_ImageSize/img.png +0 -0
  418. data/test/TC_ImageSize/img.ppm +0 -0
  419. data/test/TC_ImageSize/img.psd +0 -0
  420. data/test/TC_ImageSize/img.tiff +0 -0
  421. data/test/TC_ImageSize/img.xbm +22 -0
  422. data/test/TC_KeyValueCoding.rb +35 -0
  423. data/test/TC_LRUCache.rb +296 -0
  424. data/test/TC_LinkedList.rb +46 -0
  425. data/test/TC_Lockfile.rb +106 -0
  426. data/test/TC_Minimal.rb +45 -0
  427. data/test/TC_Minimal/app.cnf +8 -0
  428. data/test/TC_Minimal/cgi-bin/iowa.cgi +11 -0
  429. data/test/TC_Minimal/doc/index.html +1 -0
  430. data/test/TC_Minimal/iowa/Main.html +1 -0
  431. data/test/TC_Minimal/iowa/README +1 -0
  432. data/test/TC_Minimal/iowa/app.rb +3 -0
  433. data/test/TC_Minimal/webrick.rb +38 -0
  434. data/test/TC_Mongrel.rb +58 -0
  435. data/test/TC_Mongrel/doc/thing.txt +1 -0
  436. data/test/TC_Mongrel/iowa/Main.html +3 -0
  437. data/test/TC_Mongrel/iowa/Main.iwa +7 -0
  438. data/test/TC_Mongrel/iowa/NewPage.html +1 -0
  439. data/test/TC_Mongrel/iowa/NewPage.iwa +5 -0
  440. data/test/TC_Mongrel/iowa/app.cnf +10 -0
  441. data/test/TC_Mongrel/iowa/app.rb +5 -0
  442. data/test/TC_NoSubclass.rb +56 -0
  443. data/test/TC_NoSubclass/cgi/iowa.cgi +7 -0
  444. data/test/TC_NoSubclass/doc/index.html +1 -0
  445. data/test/TC_NoSubclass/iowa/Main.html +8 -0
  446. data/test/TC_NoSubclass/iowa/Main.iwa +14 -0
  447. data/test/TC_NoSubclass/iowa/README +1 -0
  448. data/test/TC_NoSubclass/iowa/app.cnf +8 -0
  449. data/test/TC_NoSubclass/iowa/app.rb +5 -0
  450. data/test/TC_NoSubclass/webrick.rb +38 -0
  451. data/test/TC_Pool.rb +139 -0
  452. data/test/TC_RenderedCache/doc/thing.txt +1 -0
  453. data/test/TC_RenderedCache/iowa/BigPage.html +1 -0
  454. data/test/TC_RenderedCache/iowa/BigPage.iwa +12 -0
  455. data/test/TC_RenderedCache/iowa/Main.html +3 -0
  456. data/test/TC_RenderedCache/iowa/Main.iwa +7 -0
  457. data/test/TC_RenderedCache/iowa/NewPage.html +1 -0
  458. data/test/TC_RenderedCache/iowa/NewPage.iwa +11 -0
  459. data/test/TC_RenderedCache/iowa/app.cnf +13 -0
  460. data/test/TC_RenderedCache/iowa/app.rb +5 -0
  461. data/test/TC_RenderedCache/iowa/mapfile.map +4 -0
  462. data/test/TC_ResourceURL.rb +73 -0
  463. data/test/TC_ResourceURL/iowa/Main.html +2 -0
  464. data/test/TC_ResourceURL/iowa/Main.iwa +10 -0
  465. data/test/TC_ResourceURL/iowa/app.cnf +10 -0
  466. data/test/TC_ResourceURL/iowa/app.rb +5 -0
  467. data/test/TC_SimpleDetached.rb +41 -0
  468. data/test/TC_StandardDispatcher.rb +362 -0
  469. data/test/TC_StandardDispatcherWithClassifier.rb +358 -0
  470. data/test/TC_String.rb +24 -0
  471. data/test/TC_Tag.rb +41 -0
  472. data/test/TC_Webrick.rb +56 -0
  473. data/test/TC_Webrick/doc/thing.txt +1 -0
  474. data/test/TC_Webrick/iowa/Main.html +3 -0
  475. data/test/TC_Webrick/iowa/Main.iwa +7 -0
  476. data/test/TC_Webrick/iowa/NewPage.html +1 -0
  477. data/test/TC_Webrick/iowa/NewPage.iwa +5 -0
  478. data/test/TC_Webrick/iowa/app.cnf +10 -0
  479. data/test/TC_Webrick/iowa/app.rb +5 -0
  480. data/test/tc_template.rb +15 -0
  481. data/test/tests.conf +19 -0
  482. data/utils/CVS/Entries +3 -0
  483. data/utils/CVS/Repository +1 -0
  484. data/utils/CVS/Root +1 -0
  485. data/utils/QuickCert-1.0.2.tar.gz +0 -0
  486. data/utils/QuickCert-1.0.2/InstalledFiles +7 -0
  487. data/utils/QuickCert-1.0.2/MANIFEST +10 -0
  488. data/utils/QuickCert-1.0.2/Makefile +15 -0
  489. data/utils/QuickCert-1.0.2/README +56 -0
  490. data/utils/QuickCert-1.0.2/bin/QuickCert +355 -0
  491. data/utils/QuickCert-1.0.2/config.save +12 -0
  492. data/utils/QuickCert-1.0.2/data/examples/ruby/QuickCert/README +60 -0
  493. data/utils/QuickCert-1.0.2/data/examples/ruby/QuickCert/drbssl_c.rb +26 -0
  494. data/utils/QuickCert-1.0.2/data/examples/ruby/QuickCert/drbssl_s.rb +35 -0
  495. data/utils/QuickCert-1.0.2/data/examples/ruby/QuickCert/qc_config +21 -0
  496. data/utils/QuickCert-1.0.2/lib/QuickCert/defaults.rb +28 -0
  497. data/utils/QuickCert-1.0.2/setup.rb +1312 -0
  498. data/utils/iowa_apps +422 -0
  499. data/utils/smtp_sink.rb +9 -0
  500. data/utils/startup_template.cnf +27 -0
  501. data/utils/startup_template.rb +73 -0
  502. metadata +551 -0
@@ -0,0 +1,119 @@
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>Class: MIME::InvalidContentType</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>Class</strong></td>
53
+ <td class="class-name-in-header">MIME::InvalidContentType</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/mime/types_rb.html">
59
+ lib/mime/types.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ RuntimeError
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+ <div id="description">
82
+ <p>
83
+ Reflects a <a href="../MIME.html">MIME</a> Content-<a
84
+ href="Type.html">Type</a> which is in invalid format (e.g., it isn&#8217;t
85
+ in the form of type/subtype).
86
+ </p>
87
+
88
+ </div>
89
+
90
+
91
+ </div>
92
+
93
+
94
+ </div>
95
+
96
+
97
+ <!-- if includes -->
98
+
99
+ <div id="section">
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+ <!-- if method_list -->
109
+
110
+
111
+ </div>
112
+
113
+
114
+ <div id="validator-badges">
115
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
116
+ </div>
117
+
118
+ </body>
119
+ </html>
@@ -0,0 +1,866 @@
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>Class: MIME::Type</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>Class</strong></td>
53
+ <td class="class-name-in-header">MIME::Type</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/mime/types_rb.html">
59
+ lib/mime/types.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ Object
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+ <div id="description">
82
+ <p>
83
+ The definition of one <a href="../MIME.html">MIME</a> content-type.
84
+ </p>
85
+ <h2>Usage</h2>
86
+ <pre>
87
+ require 'mime/types'
88
+
89
+ plaintext = MIME::Types['text/plain']
90
+ print plaintext.media_type # =&gt; 'text'
91
+ print plaintext.sub_type # =&gt; 'plain'
92
+
93
+ puts plaintext.extensions.join(&quot; &quot;) # =&gt; 'asc txt c cc h hh cpp'
94
+
95
+ puts plaintext.encoding # =&gt; 8bit
96
+ puts plaintext.binary? # =&gt; false
97
+ puts plaintext.ascii? # =&gt; true
98
+ puts plaintext == 'text/plain' # =&gt; true
99
+ puts MIME::Type.simplified('x-appl/x-zip') # =&gt; 'appl/zip'
100
+ </pre>
101
+
102
+ </div>
103
+
104
+
105
+ </div>
106
+
107
+ <div id="method-list">
108
+ <h3 class="section-bar">Methods</h3>
109
+
110
+ <div class="name-list">
111
+ <a href="#M000023">ascii?</a>&nbsp;&nbsp;
112
+ <a href="#M000022">binary?</a>&nbsp;&nbsp;
113
+ <a href="#M000027">complete?</a>&nbsp;&nbsp;
114
+ <a href="#M000011">default_encoding</a>&nbsp;&nbsp;
115
+ <a href="#M000014">docs=</a>&nbsp;&nbsp;
116
+ <a href="#M000017">from_array</a>&nbsp;&nbsp;
117
+ <a href="#M000018">from_hash</a>&nbsp;&nbsp;
118
+ <a href="#M000019">from_mime_type</a>&nbsp;&nbsp;
119
+ <a href="#M000010">like?</a>&nbsp;&nbsp;
120
+ <a href="#M000020">new</a>&nbsp;&nbsp;
121
+ <a href="#M000013">obsolete?</a>&nbsp;&nbsp;
122
+ <a href="#M000026">platform?</a>&nbsp;&nbsp;
123
+ <a href="#M000021">registered?</a>&nbsp;&nbsp;
124
+ <a href="#M000024">signature?</a>&nbsp;&nbsp;
125
+ <a href="#M000016">simplified</a>&nbsp;&nbsp;
126
+ <a href="#M000025">system?</a>&nbsp;&nbsp;
127
+ <a href="#M000030">to_a</a>&nbsp;&nbsp;
128
+ <a href="#M000031">to_hash</a>&nbsp;&nbsp;
129
+ <a href="#M000028">to_s</a>&nbsp;&nbsp;
130
+ <a href="#M000029">to_str</a>&nbsp;&nbsp;
131
+ <a href="#M000015">urls</a>&nbsp;&nbsp;
132
+ <a href="#M000012">use_instead</a>&nbsp;&nbsp;
133
+ </div>
134
+ </div>
135
+
136
+ </div>
137
+
138
+
139
+ <!-- if includes -->
140
+ <div id="includes">
141
+ <h3 class="section-bar">Included Modules</h3>
142
+
143
+ <div id="includes-list">
144
+ <span class="include-name">Comparable</span>
145
+ </div>
146
+ </div>
147
+
148
+ <div id="section">
149
+
150
+
151
+ <div id="constants-list">
152
+ <h3 class="section-bar">Constants</h3>
153
+
154
+ <div class="name-list">
155
+ <table summary="Constants">
156
+ <tr class="top-aligned-row context-row">
157
+ <td class="context-item-name">VERSION</td>
158
+ <td>=</td>
159
+ <td class="context-item-value">'1.15'</td>
160
+ </tr>
161
+ <tr class="top-aligned-row context-row">
162
+ <td class="context-item-name">IANA_URL</td>
163
+ <td>=</td>
164
+ <td class="context-item-value">&quot;http://www.iana.org/assignments/media-types/%s/%s&quot;</td>
165
+ </tr>
166
+ <tr class="top-aligned-row context-row">
167
+ <td class="context-item-name">RFC_URL</td>
168
+ <td>=</td>
169
+ <td class="context-item-value">&quot;http://rfc-editor.org/rfc/rfc%s.txt&quot;</td>
170
+ </tr>
171
+ <tr class="top-aligned-row context-row">
172
+ <td class="context-item-name">DRAFT_URL</td>
173
+ <td>=</td>
174
+ <td class="context-item-value">&quot;http://datatracker.ietf.org/public/idindex.cgi?command=id_details&amp;filename=%s&quot;</td>
175
+ </tr>
176
+ <tr class="top-aligned-row context-row">
177
+ <td class="context-item-name">LTSW_URL</td>
178
+ <td>=</td>
179
+ <td class="context-item-value">&quot;http://www.ltsw.se/knbase/internet/%s.htp&quot;</td>
180
+ </tr>
181
+ <tr class="top-aligned-row context-row">
182
+ <td class="context-item-name">CONTACT_URL</td>
183
+ <td>=</td>
184
+ <td class="context-item-value">&quot;http://www.iana.org/assignments/contact-people.htm#%s&quot;</td>
185
+ </tr>
186
+ </table>
187
+ </div>
188
+ </div>
189
+
190
+
191
+
192
+ <div id="attribute-list">
193
+ <h3 class="section-bar">Attributes</h3>
194
+
195
+ <div class="name-list">
196
+ <table>
197
+ <tr class="top-aligned-row context-row">
198
+ <td class="context-item-name">content_type</td>
199
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
200
+ <td class="context-item-desc">
201
+ Returns the whole <a href="../MIME.html">MIME</a> content-type string.
202
+
203
+ <pre>
204
+ text/plain =&gt; text/plain
205
+ x-chemical/x-pdb =&gt; x-chemical/x-pdb
206
+ </pre>
207
+ </td>
208
+ </tr>
209
+ <tr class="top-aligned-row context-row">
210
+ <td class="context-item-name">default_encoding</td>
211
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
212
+ <td class="context-item-desc">
213
+ Returns the default encoding for the <a href="Type.html">MIME::Type</a>
214
+ based on the media type.
215
+
216
+ </td>
217
+ </tr>
218
+ <tr class="top-aligned-row context-row">
219
+ <td class="context-item-name">docs</td>
220
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
221
+ <td class="context-item-desc">
222
+ The documentation for this <a href="Type.html">MIME::Type</a>.
223
+ Documentation about media types will be found on a media type definition as
224
+ a comment. Documentation will be found through docs.
225
+
226
+ </td>
227
+ </tr>
228
+ <tr class="top-aligned-row context-row">
229
+ <td class="context-item-name">encoding</td>
230
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
231
+ <td class="context-item-desc">
232
+ The encoding (7bit, 8bit, quoted-printable, or base64) required to
233
+ transport the data of this content type safely across a network, which
234
+ roughly corresponds to Content-Transfer-Encoding. A value of <tt>nil</tt>
235
+ or <tt>:default</tt> will reset the encoding to the <a
236
+ href="Type.html#M000011">default_encoding</a> for the <a
237
+ href="Type.html">MIME::Type</a>. Raises ArgumentError if the encoding
238
+ provided is invalid.
239
+
240
+ <p>
241
+ If the encoding is not provided on construction, this will be either
242
+ &#8216;quoted-printable&#8217; (for text/* media types) and
243
+ &#8216;base64&#8217; for eveything else.
244
+ </p>
245
+ </td>
246
+ </tr>
247
+ <tr class="top-aligned-row context-row">
248
+ <td class="context-item-name">extensions</td>
249
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
250
+ <td class="context-item-desc">
251
+ The list of extensions which are known to be used for this <a
252
+ href="Type.html">MIME::Type</a>. Non-array values will be coerced into an
253
+ array with <a href="Type.html#M000030">to_a</a>. Array values will be
254
+ flattened and <tt>nil</tt> values removed.
255
+
256
+ </td>
257
+ </tr>
258
+ <tr class="top-aligned-row context-row">
259
+ <td class="context-item-name">media_type</td>
260
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
261
+ <td class="context-item-desc">
262
+ Returns the media type of the simplified <a href="../MIME.html">MIME</a>
263
+ type.
264
+
265
+ <pre>
266
+ text/plain =&gt; text
267
+ x-chemical/x-pdb =&gt; chemical
268
+ </pre>
269
+ </td>
270
+ </tr>
271
+ <tr class="top-aligned-row context-row">
272
+ <td class="context-item-name">obsolete</td>
273
+ <td class="context-item-value">&nbsp;[W]&nbsp;</td>
274
+ <td class="context-item-desc">
275
+ Sets the obsolescence indicator for this media type.
276
+
277
+ </td>
278
+ </tr>
279
+ <tr class="top-aligned-row context-row">
280
+ <td class="context-item-name">raw_media_type</td>
281
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
282
+ <td class="context-item-desc">
283
+ Returns the media type of the unmodified <a href="../MIME.html">MIME</a>
284
+ type.
285
+
286
+ <pre>
287
+ text/plain =&gt; text
288
+ x-chemical/x-pdb =&gt; x-chemical
289
+ </pre>
290
+ </td>
291
+ </tr>
292
+ <tr class="top-aligned-row context-row">
293
+ <td class="context-item-name">raw_sub_type</td>
294
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
295
+ <td class="context-item-desc">
296
+ Returns the media type of the unmodified <a href="../MIME.html">MIME</a>
297
+ type.
298
+
299
+ <pre>
300
+ text/plain =&gt; plain
301
+ x-chemical/x-pdb =&gt; x-pdb
302
+ </pre>
303
+ </td>
304
+ </tr>
305
+ <tr class="top-aligned-row context-row">
306
+ <td class="context-item-name">simplified</td>
307
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
308
+ <td class="context-item-desc">
309
+ The <a href="../MIME.html">MIME</a> types main- and sub-label can both
310
+ start with <tt>x-</tt>, which indicates that it is a non-registered name.
311
+ Of course, after registration this flag can disappear, adds to the
312
+ confusing proliferation of <a href="../MIME.html">MIME</a> types. The
313
+ simplified string has the <tt>x-</tt> removed and are translated to
314
+ lowercase.
315
+
316
+ <pre>
317
+ text/plain =&gt; text/plain
318
+ x-chemical/x-pdb =&gt; chemical/pdb
319
+ </pre>
320
+ </td>
321
+ </tr>
322
+ <tr class="top-aligned-row context-row">
323
+ <td class="context-item-name">sub_type</td>
324
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
325
+ <td class="context-item-desc">
326
+ Returns the sub-type of the simplified <a href="../MIME.html">MIME</a>
327
+ type.
328
+
329
+ <pre>
330
+ text/plain =&gt; plain
331
+ x-chemical/x-pdb =&gt; pdb
332
+ </pre>
333
+ </td>
334
+ </tr>
335
+ <tr class="top-aligned-row context-row">
336
+ <td class="context-item-name">system</td>
337
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
338
+ <td class="context-item-desc">
339
+ The regexp for the operating system that this <a
340
+ href="Type.html">MIME::Type</a> is specific to.
341
+
342
+ </td>
343
+ </tr>
344
+ <tr class="top-aligned-row context-row">
345
+ <td class="context-item-name">url</td>
346
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
347
+ <td class="context-item-desc">
348
+ The encoded URL list for this <a href="Type.html">MIME::Type</a>. See <a
349
+ href="Type.html#M000015">urls</a> for
350
+
351
+ </td>
352
+ </tr>
353
+ <tr class="top-aligned-row context-row">
354
+ <td class="context-item-name">use_instead</td>
355
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
356
+ <td class="context-item-desc">
357
+ Returns the media type or types that should be used instead of this media
358
+ type, if it is obsolete. If there is no replacement media type, or it is
359
+ not obsolete, <tt>nil</tt> will be returned.
360
+
361
+ </td>
362
+ </tr>
363
+ </table>
364
+ </div>
365
+ </div>
366
+
367
+
368
+
369
+ <!-- if method_list -->
370
+ <div id="methods">
371
+ <h3 class="section-bar">Public Class methods</h3>
372
+
373
+ <div id="method-M000017" class="method-detail">
374
+ <a name="M000017"></a>
375
+
376
+ <div class="method-heading">
377
+ <a href="Type.src/M000017.html" target="Code" class="method-signature"
378
+ onclick="popupCode('Type.src/M000017.html');return false;">
379
+ <span class="method-name">from_array</span><span class="method-args">(*args) {|m if block_given?| ...}</span>
380
+ </a>
381
+ </div>
382
+
383
+ <div class="method-description">
384
+ <p>
385
+ Creates a <a href="Type.html">MIME::Type</a> from an array in the form of:
386
+ </p>
387
+ <pre>
388
+ [type-name, [extensions], encoding, system]
389
+ </pre>
390
+ <p>
391
+ <tt>extensions</tt>, <tt>encoding</tt>, and <tt>system</tt> are optional.
392
+ </p>
393
+ <pre>
394
+ MIME::Type.from_array(&quot;application/x-ruby&quot;, ['rb'], '8bit')
395
+ MIME::Type.from_array([&quot;application/x-ruby&quot;, ['rb'], '8bit'])
396
+ </pre>
397
+ <p>
398
+ These are equivalent to:
399
+ </p>
400
+ <pre>
401
+ MIME::Type.new('application/x-ruby') do |t|
402
+ t.extensions = %w(rb)
403
+ t.encoding = '8bit'
404
+ end
405
+ </pre>
406
+ </div>
407
+ </div>
408
+
409
+ <div id="method-M000018" class="method-detail">
410
+ <a name="M000018"></a>
411
+
412
+ <div class="method-heading">
413
+ <a href="Type.src/M000018.html" target="Code" class="method-signature"
414
+ onclick="popupCode('Type.src/M000018.html');return false;">
415
+ <span class="method-name">from_hash</span><span class="method-args">(hash) {|m if block_given?| ...}</span>
416
+ </a>
417
+ </div>
418
+
419
+ <div class="method-description">
420
+ <p>
421
+ Creates a <a href="Type.html">MIME::Type</a> from a hash. Keys are
422
+ case-insensitive, dashes may be replaced with underscores, and the internal
423
+ Symbol of the lowercase-underscore version can be used as well. That is,
424
+ Content-<a href="Type.html">Type</a> can be provided as content-type,
425
+ Content_Type, content_type, or :content_type.
426
+ </p>
427
+ <p>
428
+ Known keys are <tt>Content-<a href="Type.html">Type</a></tt>,
429
+ <tt>Content-Transfer-Encoding</tt>, <tt>Extensions</tt>, and
430
+ <tt>System</tt>.
431
+ </p>
432
+ <pre>
433
+ MIME::Type.from_hash('Content-Type' =&gt; 'text/x-yaml',
434
+ 'Content-Transfer-Encoding' =&gt; '8bit',
435
+ 'System' =&gt; 'linux',
436
+ 'Extensions' =&gt; ['yaml', 'yml'])
437
+ </pre>
438
+ <p>
439
+ This is equivalent to:
440
+ </p>
441
+ <pre>
442
+ MIME::Type.new('text/x-yaml') do |t|
443
+ t.encoding = '8bit'
444
+ t.system = 'linux'
445
+ t.extensions = ['yaml', 'yml']
446
+ end
447
+ </pre>
448
+ </div>
449
+ </div>
450
+
451
+ <div id="method-M000019" class="method-detail">
452
+ <a name="M000019"></a>
453
+
454
+ <div class="method-heading">
455
+ <a href="Type.src/M000019.html" target="Code" class="method-signature"
456
+ onclick="popupCode('Type.src/M000019.html');return false;">
457
+ <span class="method-name">from_mime_type</span><span class="method-args">(mime_type) {|m if block_given?| ...}</span>
458
+ </a>
459
+ </div>
460
+
461
+ <div class="method-description">
462
+ <p>
463
+ Essentially a copy constructor.
464
+ </p>
465
+ <pre>
466
+ MIME::Type.from_mime_type(plaintext)
467
+ </pre>
468
+ <p>
469
+ is equivalent to:
470
+ </p>
471
+ <pre>
472
+ MIME::Type.new(plaintext.content_type.dup) do |t|
473
+ t.extensions = plaintext.extensions.dup
474
+ t.system = plaintext.system.dup
475
+ t.encoding = plaintext.encoding.dup
476
+ end
477
+ </pre>
478
+ </div>
479
+ </div>
480
+
481
+ <div id="method-M000020" class="method-detail">
482
+ <a name="M000020"></a>
483
+
484
+ <div class="method-heading">
485
+ <a href="Type.src/M000020.html" target="Code" class="method-signature"
486
+ onclick="popupCode('Type.src/M000020.html');return false;">
487
+ <span class="method-name">new</span><span class="method-args">(content_type) {|self if block_given?| ...}</span>
488
+ </a>
489
+ </div>
490
+
491
+ <div class="method-description">
492
+ <p>
493
+ Builds a <a href="Type.html">MIME::Type</a> object from the provided <a
494
+ href="../MIME.html">MIME</a> Content <a href="Type.html">Type</a> value
495
+ (e.g., &#8216;text/plain&#8217; or &#8216;applicaton/x-eruby&#8217;). The
496
+ constructed object is yielded to an optional block for additional
497
+ configuration, such as associating extensions and encoding information.
498
+ </p>
499
+ </div>
500
+ </div>
501
+
502
+ <div id="method-M000016" class="method-detail">
503
+ <a name="M000016"></a>
504
+
505
+ <div class="method-heading">
506
+ <a href="Type.src/M000016.html" target="Code" class="method-signature"
507
+ onclick="popupCode('Type.src/M000016.html');return false;">
508
+ <span class="method-name">simplified</span><span class="method-args">(content_type)</span>
509
+ </a>
510
+ </div>
511
+
512
+ <div class="method-description">
513
+ <p>
514
+ The <a href="../MIME.html">MIME</a> types main- and sub-label can both
515
+ start with <tt>x-</tt>, which indicates that it is a non-registered name.
516
+ Of course, after registration this flag can disappear, adds to the
517
+ confusing proliferation of <a href="../MIME.html">MIME</a> types. The
518
+ simplified string has the <tt>x-</tt> removed and are translated to
519
+ lowercase.
520
+ </p>
521
+ </div>
522
+ </div>
523
+
524
+ <h3 class="section-bar">Public Instance methods</h3>
525
+
526
+ <div id="method-M000023" class="method-detail">
527
+ <a name="M000023"></a>
528
+
529
+ <div class="method-heading">
530
+ <a href="Type.src/M000023.html" target="Code" class="method-signature"
531
+ onclick="popupCode('Type.src/M000023.html');return false;">
532
+ <span class="method-name">ascii?</span><span class="method-args">()</span>
533
+ </a>
534
+ </div>
535
+
536
+ <div class="method-description">
537
+ <p>
538
+ <a href="../MIME.html">MIME</a> types can be specified to be sent across a
539
+ network in particular formats. This method returns <tt>false</tt> when the
540
+ <a href="../MIME.html">MIME</a> type encoding is set to <tt>base64</tt>.
541
+ </p>
542
+ </div>
543
+ </div>
544
+
545
+ <div id="method-M000022" class="method-detail">
546
+ <a name="M000022"></a>
547
+
548
+ <div class="method-heading">
549
+ <a href="Type.src/M000022.html" target="Code" class="method-signature"
550
+ onclick="popupCode('Type.src/M000022.html');return false;">
551
+ <span class="method-name">binary?</span><span class="method-args">()</span>
552
+ </a>
553
+ </div>
554
+
555
+ <div class="method-description">
556
+ <p>
557
+ <a href="../MIME.html">MIME</a> types can be specified to be sent across a
558
+ network in particular formats. This method returns <tt>true</tt> when the
559
+ <a href="../MIME.html">MIME</a> type encoding is set to <tt>base64</tt>.
560
+ </p>
561
+ </div>
562
+ </div>
563
+
564
+ <div id="method-M000027" class="method-detail">
565
+ <a name="M000027"></a>
566
+
567
+ <div class="method-heading">
568
+ <a href="Type.src/M000027.html" target="Code" class="method-signature"
569
+ onclick="popupCode('Type.src/M000027.html');return false;">
570
+ <span class="method-name">complete?</span><span class="method-args">()</span>
571
+ </a>
572
+ </div>
573
+
574
+ <div class="method-description">
575
+ <p>
576
+ Returns <tt>true</tt> if the <a href="Type.html">MIME::Type</a> specifies
577
+ an extension list, indicating that it is a complete <a
578
+ href="Type.html">MIME::Type</a>.
579
+ </p>
580
+ </div>
581
+ </div>
582
+
583
+ <div id="method-M000011" class="method-detail">
584
+ <a name="M000011"></a>
585
+
586
+ <div class="method-heading">
587
+ <a href="Type.src/M000011.html" target="Code" class="method-signature"
588
+ onclick="popupCode('Type.src/M000011.html');return false;">
589
+ <span class="method-name">default_encoding</span><span class="method-args">()</span>
590
+ </a>
591
+ </div>
592
+
593
+ <div class="method-description">
594
+ </div>
595
+ </div>
596
+
597
+ <div id="method-M000014" class="method-detail">
598
+ <a name="M000014"></a>
599
+
600
+ <div class="method-heading">
601
+ <a href="Type.src/M000014.html" target="Code" class="method-signature"
602
+ onclick="popupCode('Type.src/M000014.html');return false;">
603
+ <span class="method-name">docs=</span><span class="method-args">(d)</span>
604
+ </a>
605
+ </div>
606
+
607
+ <div class="method-description">
608
+ </div>
609
+ </div>
610
+
611
+ <div id="method-M000010" class="method-detail">
612
+ <a name="M000010"></a>
613
+
614
+ <div class="method-heading">
615
+ <a href="Type.src/M000010.html" target="Code" class="method-signature"
616
+ onclick="popupCode('Type.src/M000010.html');return false;">
617
+ <span class="method-name">like?</span><span class="method-args">(other)</span>
618
+ </a>
619
+ </div>
620
+
621
+ <div class="method-description">
622
+ <p>
623
+ Returns <tt>true</tt> if the simplified type matches the current
624
+ </p>
625
+ </div>
626
+ </div>
627
+
628
+ <div id="method-M000013" class="method-detail">
629
+ <a name="M000013"></a>
630
+
631
+ <div class="method-heading">
632
+ <a href="Type.src/M000013.html" target="Code" class="method-signature"
633
+ onclick="popupCode('Type.src/M000013.html');return false;">
634
+ <span class="method-name">obsolete?</span><span class="method-args">()</span>
635
+ </a>
636
+ </div>
637
+
638
+ <div class="method-description">
639
+ <p>
640
+ Returns <tt>true</tt> if the media type is obsolete.
641
+ </p>
642
+ </div>
643
+ </div>
644
+
645
+ <div id="method-M000026" class="method-detail">
646
+ <a name="M000026"></a>
647
+
648
+ <div class="method-heading">
649
+ <a href="Type.src/M000026.html" target="Code" class="method-signature"
650
+ onclick="popupCode('Type.src/M000026.html');return false;">
651
+ <span class="method-name">platform?</span><span class="method-args">()</span>
652
+ </a>
653
+ </div>
654
+
655
+ <div class="method-description">
656
+ <p>
657
+ Returns <tt>true</tt> if the <a href="Type.html">MIME::Type</a> is specific
658
+ to the current operating system as represented by RUBY_PLATFORM.
659
+ </p>
660
+ </div>
661
+ </div>
662
+
663
+ <div id="method-M000021" class="method-detail">
664
+ <a name="M000021"></a>
665
+
666
+ <div class="method-heading">
667
+ <a href="Type.src/M000021.html" target="Code" class="method-signature"
668
+ onclick="popupCode('Type.src/M000021.html');return false;">
669
+ <span class="method-name">registered?</span><span class="method-args">()</span>
670
+ </a>
671
+ </div>
672
+
673
+ <div class="method-description">
674
+ <p>
675
+ <a href="../MIME.html">MIME</a> content-types which are not regestered by
676
+ IANA nor defined in RFCs are required to start with <tt>x-</tt>. This
677
+ counts as well for a new media type as well as a new sub-type of an
678
+ existing media type. If either the media-type or the content-type begins
679
+ with <tt>x-</tt>, this method will return <tt>false</tt>.
680
+ </p>
681
+ </div>
682
+ </div>
683
+
684
+ <div id="method-M000024" class="method-detail">
685
+ <a name="M000024"></a>
686
+
687
+ <div class="method-heading">
688
+ <a href="Type.src/M000024.html" target="Code" class="method-signature"
689
+ onclick="popupCode('Type.src/M000024.html');return false;">
690
+ <span class="method-name">signature?</span><span class="method-args">()</span>
691
+ </a>
692
+ </div>
693
+
694
+ <div class="method-description">
695
+ <p>
696
+ Returns <tt>true</tt> when the simplified <a href="../MIME.html">MIME</a>
697
+ type is in the list of known digital signatures.
698
+ </p>
699
+ </div>
700
+ </div>
701
+
702
+ <div id="method-M000025" class="method-detail">
703
+ <a name="M000025"></a>
704
+
705
+ <div class="method-heading">
706
+ <a href="Type.src/M000025.html" target="Code" class="method-signature"
707
+ onclick="popupCode('Type.src/M000025.html');return false;">
708
+ <span class="method-name">system?</span><span class="method-args">()</span>
709
+ </a>
710
+ </div>
711
+
712
+ <div class="method-description">
713
+ <p>
714
+ Returns <tt>true</tt> if the <a href="Type.html">MIME::Type</a> is specific
715
+ to an operating system.
716
+ </p>
717
+ </div>
718
+ </div>
719
+
720
+ <div id="method-M000030" class="method-detail">
721
+ <a name="M000030"></a>
722
+
723
+ <div class="method-heading">
724
+ <a href="Type.src/M000030.html" target="Code" class="method-signature"
725
+ onclick="popupCode('Type.src/M000030.html');return false;">
726
+ <span class="method-name">to_a</span><span class="method-args">()</span>
727
+ </a>
728
+ </div>
729
+
730
+ <div class="method-description">
731
+ <p>
732
+ Returns the <a href="../MIME.html">MIME</a> type as an array suitable for
733
+ use with <a href="Type.html#M000017">MIME::Type.from_array</a>.
734
+ </p>
735
+ </div>
736
+ </div>
737
+
738
+ <div id="method-M000031" class="method-detail">
739
+ <a name="M000031"></a>
740
+
741
+ <div class="method-heading">
742
+ <a href="Type.src/M000031.html" target="Code" class="method-signature"
743
+ onclick="popupCode('Type.src/M000031.html');return false;">
744
+ <span class="method-name">to_hash</span><span class="method-args">()</span>
745
+ </a>
746
+ </div>
747
+
748
+ <div class="method-description">
749
+ <p>
750
+ Returns the <a href="../MIME.html">MIME</a> type as an array suitable for
751
+ use with <a href="Type.html#M000018">MIME::Type.from_hash</a>.
752
+ </p>
753
+ </div>
754
+ </div>
755
+
756
+ <div id="method-M000028" class="method-detail">
757
+ <a name="M000028"></a>
758
+
759
+ <div class="method-heading">
760
+ <a href="Type.src/M000028.html" target="Code" class="method-signature"
761
+ onclick="popupCode('Type.src/M000028.html');return false;">
762
+ <span class="method-name">to_s</span><span class="method-args">()</span>
763
+ </a>
764
+ </div>
765
+
766
+ <div class="method-description">
767
+ <p>
768
+ Returns the <a href="../MIME.html">MIME</a> type as a string.
769
+ </p>
770
+ </div>
771
+ </div>
772
+
773
+ <div id="method-M000029" class="method-detail">
774
+ <a name="M000029"></a>
775
+
776
+ <div class="method-heading">
777
+ <a href="Type.src/M000029.html" target="Code" class="method-signature"
778
+ onclick="popupCode('Type.src/M000029.html');return false;">
779
+ <span class="method-name">to_str</span><span class="method-args">()</span>
780
+ </a>
781
+ </div>
782
+
783
+ <div class="method-description">
784
+ <p>
785
+ Returns the <a href="../MIME.html">MIME</a> type as a string for implicit
786
+ conversions.
787
+ </p>
788
+ </div>
789
+ </div>
790
+
791
+ <div id="method-M000015" class="method-detail">
792
+ <a name="M000015"></a>
793
+
794
+ <div class="method-heading">
795
+ <a href="Type.src/M000015.html" target="Code" class="method-signature"
796
+ onclick="popupCode('Type.src/M000015.html');return false;">
797
+ <span class="method-name">urls</span><span class="method-args">()</span>
798
+ </a>
799
+ </div>
800
+
801
+ <div class="method-description">
802
+ <p>
803
+ The decoded URL list for this <a href="Type.html">MIME::Type</a>. The
804
+ special URL value IANA will be translated into:
805
+ </p>
806
+ <pre>
807
+ http://www.iana.org/assignments/media-types/&lt;mediatype&gt;/&lt;subtype&gt;
808
+ </pre>
809
+ <p>
810
+ The special URL value RFC### will be translated into:
811
+ </p>
812
+ <pre>
813
+ http://www.rfc-editor.org/rfc/rfc###.txt
814
+ </pre>
815
+ <p>
816
+ The special URL value DRAFT:name will be translated into:
817
+ </p>
818
+ <pre>
819
+ https://datatracker.ietf.org/public/idindex.cgi?
820
+ command=id_detail&amp;filename=&lt;name&gt;
821
+ </pre>
822
+ <p>
823
+ The special URL value LTSW will be translated into:
824
+ </p>
825
+ <pre>
826
+ http://www.ltsw.se/knbase/internet/&lt;mediatype&gt;.htp
827
+ </pre>
828
+ <p>
829
+ The special URL value [token] will be translated into:
830
+ </p>
831
+ <pre>
832
+ http://www.iana.org/assignments/contact-people.htm#&lt;token&gt;
833
+ </pre>
834
+ <p>
835
+ These values will be accessible through url, which always returns an array.
836
+ </p>
837
+ </div>
838
+ </div>
839
+
840
+ <div id="method-M000012" class="method-detail">
841
+ <a name="M000012"></a>
842
+
843
+ <div class="method-heading">
844
+ <a href="Type.src/M000012.html" target="Code" class="method-signature"
845
+ onclick="popupCode('Type.src/M000012.html');return false;">
846
+ <span class="method-name">use_instead</span><span class="method-args">()</span>
847
+ </a>
848
+ </div>
849
+
850
+ <div class="method-description">
851
+ </div>
852
+ </div>
853
+
854
+
855
+ </div>
856
+
857
+
858
+ </div>
859
+
860
+
861
+ <div id="validator-badges">
862
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
863
+ </div>
864
+
865
+ </body>
866
+ </html>