shoesgem 0.1424.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 (808) hide show
  1. data/LICENSE +30 -0
  2. data/README.rdoc +31 -0
  3. data/lib/shoes.rb +4 -0
  4. data/shoes/CHANGELOG.txt +21 -0
  5. data/shoes/COPYING.txt +30 -0
  6. data/shoes/README.txt +117 -0
  7. data/shoes/VERSION.txt +1 -0
  8. data/shoes/fonts/Coolvetica.ttf +0 -0
  9. data/shoes/fonts/Lacuna.ttf +0 -0
  10. data/shoes/freetype6.dll +0 -0
  11. data/shoes/lib/shoes/cache.rb +54 -0
  12. data/shoes/lib/shoes/data.rb +39 -0
  13. data/shoes/lib/shoes/help.rb +421 -0
  14. data/shoes/lib/shoes/image.rb +25 -0
  15. data/shoes/lib/shoes/inspect.rb +128 -0
  16. data/shoes/lib/shoes/log.rb +48 -0
  17. data/shoes/lib/shoes/minitar.rb +986 -0
  18. data/shoes/lib/shoes/override.rb +38 -0
  19. data/shoes/lib/shoes/pack.rb +503 -0
  20. data/shoes/lib/shoes/search.rb +46 -0
  21. data/shoes/lib/shoes/setup.rb +329 -0
  22. data/shoes/lib/shoes/shy.rb +131 -0
  23. data/shoes/lib/shoes/shybuilder.rb +44 -0
  24. data/shoes/lib/shoes.rb +522 -0
  25. data/shoes/libcairo-2.dll +0 -0
  26. data/shoes/libeay32.dll +0 -0
  27. data/shoes/libexpat-1.dll +0 -0
  28. data/shoes/libfontconfig-1.dll +0 -0
  29. data/shoes/libgio-2.0-0.dll +0 -0
  30. data/shoes/libglib-2.0-0.dll +0 -0
  31. data/shoes/libgmodule-2.0-0.dll +0 -0
  32. data/shoes/libgobject-2.0-0.dll +0 -0
  33. data/shoes/libgthread-2.0-0.dll +0 -0
  34. data/shoes/libiconv2.dll +0 -0
  35. data/shoes/libjpeg-8.dll +0 -0
  36. data/shoes/libpango-1.0-0.dll +0 -0
  37. data/shoes/libpangocairo-1.0-0.dll +0 -0
  38. data/shoes/libpangoft2-1.0-0.dll +0 -0
  39. data/shoes/libpangowin32-1.0-0.dll +0 -0
  40. data/shoes/libpng14-14.dll +0 -0
  41. data/shoes/libportaudio-2.dll +0 -0
  42. data/shoes/libshoes.dll +0 -0
  43. data/shoes/libssl32.dll +0 -0
  44. data/shoes/libungif4.dll +0 -0
  45. data/shoes/msvcrt-ruby191.dll +0 -0
  46. data/shoes/readline5.dll +0 -0
  47. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/fast_xs.so +0 -0
  48. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/blankslate.rb +63 -0
  49. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/builder.rb +216 -0
  50. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/elements.rb +510 -0
  51. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/htmlinfo.rb +691 -0
  52. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/inspect.rb +103 -0
  53. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/modules.rb +40 -0
  54. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/parse.rb +38 -0
  55. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/tag.rb +202 -0
  56. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/tags.rb +164 -0
  57. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/traverse.rb +838 -0
  58. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/xchar.rb +94 -0
  59. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot.rb +26 -0
  60. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot_scan.so +0 -0
  61. data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json/add/core.rb +135 -0
  62. data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json/add/rails.rb +58 -0
  63. data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json/common.rb +354 -0
  64. data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json/ext/generator.so +0 -0
  65. data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json/ext/parser.so +0 -0
  66. data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json/ext.rb +13 -0
  67. data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json/version.rb +9 -0
  68. data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json.rb +8 -0
  69. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/constants.rb +49 -0
  70. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/database.rb +721 -0
  71. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/driver/dl/api.rb +152 -0
  72. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/driver/dl/driver.rb +307 -0
  73. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/driver/native/driver.rb +219 -0
  74. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/errors.rb +68 -0
  75. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/pragmas.rb +271 -0
  76. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/resultset.rb +180 -0
  77. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/statement.rb +231 -0
  78. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/translator.rb +109 -0
  79. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/value.rb +57 -0
  80. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/version.rb +16 -0
  81. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3.rb +1 -0
  82. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3_api.so +0 -0
  83. data/shoes/ruby/gems/1.9.1/specifications/hpricot-0.8.1.gemspec +32 -0
  84. data/shoes/ruby/gems/1.9.1/specifications/json-shoes-1.1.3.gemspec +34 -0
  85. data/shoes/ruby/gems/1.9.1/specifications/sqlite3-ruby-1.2.5-x86-mswin32.gemspec +46 -0
  86. data/shoes/ruby/lib/English.rb +155 -0
  87. data/shoes/ruby/lib/Win32API.rb +28 -0
  88. data/shoes/ruby/lib/abbrev.rb +103 -0
  89. data/shoes/ruby/lib/base64.rb +91 -0
  90. data/shoes/ruby/lib/benchmark.rb +573 -0
  91. data/shoes/ruby/lib/bigdecimal/jacobian.rb +85 -0
  92. data/shoes/ruby/lib/bigdecimal/ludcmp.rb +86 -0
  93. data/shoes/ruby/lib/bigdecimal/math.rb +237 -0
  94. data/shoes/ruby/lib/bigdecimal/newton.rb +77 -0
  95. data/shoes/ruby/lib/bigdecimal/util.rb +53 -0
  96. data/shoes/ruby/lib/cgi/cookie.rb +144 -0
  97. data/shoes/ruby/lib/cgi/core.rb +786 -0
  98. data/shoes/ruby/lib/cgi/html.rb +1021 -0
  99. data/shoes/ruby/lib/cgi/session/pstore.rb +111 -0
  100. data/shoes/ruby/lib/cgi/session.rb +537 -0
  101. data/shoes/ruby/lib/cgi/util.rb +181 -0
  102. data/shoes/ruby/lib/cgi.rb +274 -0
  103. data/shoes/ruby/lib/cmath.rb +233 -0
  104. data/shoes/ruby/lib/complex.rb +24 -0
  105. data/shoes/ruby/lib/csv.rb +2320 -0
  106. data/shoes/ruby/lib/date/format.rb +1313 -0
  107. data/shoes/ruby/lib/date.rb +1834 -0
  108. data/shoes/ruby/lib/debug.rb +907 -0
  109. data/shoes/ruby/lib/delegate.rb +311 -0
  110. data/shoes/ruby/lib/digest/hmac.rb +274 -0
  111. data/shoes/ruby/lib/digest/sha2.rb +74 -0
  112. data/shoes/ruby/lib/digest.rb +50 -0
  113. data/shoes/ruby/lib/dl/callback.rb +69 -0
  114. data/shoes/ruby/lib/dl/cparser.rb +109 -0
  115. data/shoes/ruby/lib/dl/func.rb +153 -0
  116. data/shoes/ruby/lib/dl/import.rb +215 -0
  117. data/shoes/ruby/lib/dl/pack.rb +173 -0
  118. data/shoes/ruby/lib/dl/stack.rb +146 -0
  119. data/shoes/ruby/lib/dl/struct.rb +213 -0
  120. data/shoes/ruby/lib/dl/types.rb +40 -0
  121. data/shoes/ruby/lib/dl/value.rb +112 -0
  122. data/shoes/ruby/lib/drb/acl.rb +146 -0
  123. data/shoes/ruby/lib/drb/drb.rb +1778 -0
  124. data/shoes/ruby/lib/drb/eq.rb +16 -0
  125. data/shoes/ruby/lib/drb/extserv.rb +71 -0
  126. data/shoes/ruby/lib/drb/extservm.rb +85 -0
  127. data/shoes/ruby/lib/drb/gw.rb +122 -0
  128. data/shoes/ruby/lib/drb/invokemethod.rb +34 -0
  129. data/shoes/ruby/lib/drb/observer.rb +22 -0
  130. data/shoes/ruby/lib/drb/ssl.rb +190 -0
  131. data/shoes/ruby/lib/drb/timeridconv.rb +91 -0
  132. data/shoes/ruby/lib/drb/unix.rb +108 -0
  133. data/shoes/ruby/lib/drb.rb +2 -0
  134. data/shoes/ruby/lib/e2mmap.rb +172 -0
  135. data/shoes/ruby/lib/erb.rb +902 -0
  136. data/shoes/ruby/lib/fileutils.rb +1592 -0
  137. data/shoes/ruby/lib/find.rb +81 -0
  138. data/shoes/ruby/lib/forwardable.rb +270 -0
  139. data/shoes/ruby/lib/ftsearch/analysis/analyzer.rb +16 -0
  140. data/shoes/ruby/lib/ftsearch/analysis/simple_identifier_analyzer.rb +23 -0
  141. data/shoes/ruby/lib/ftsearch/analysis/whitespace_analyzer.rb +22 -0
  142. data/shoes/ruby/lib/ftsearch/document_map_reader.rb +106 -0
  143. data/shoes/ruby/lib/ftsearch/document_map_writer.rb +46 -0
  144. data/shoes/ruby/lib/ftsearch/field_infos.rb +46 -0
  145. data/shoes/ruby/lib/ftsearch/fragment_writer.rb +114 -0
  146. data/shoes/ruby/lib/ftsearch/fulltext_reader.rb +52 -0
  147. data/shoes/ruby/lib/ftsearch/fulltext_writer.rb +75 -0
  148. data/shoes/ruby/lib/ftsearch/suffix_array_reader.rb +275 -0
  149. data/shoes/ruby/lib/ftsearch/suffix_array_writer.rb +99 -0
  150. data/shoes/ruby/lib/ftsearch/util.rb +21 -0
  151. data/shoes/ruby/lib/getoptlong.rb +610 -0
  152. data/shoes/ruby/lib/gserver.rb +253 -0
  153. data/shoes/ruby/lib/i386-mingw32/bigdecimal.so +0 -0
  154. data/shoes/ruby/lib/i386-mingw32/binject.so +0 -0
  155. data/shoes/ruby/lib/i386-mingw32/bloops.so +0 -0
  156. data/shoes/ruby/lib/i386-mingw32/continuation.so +0 -0
  157. data/shoes/ruby/lib/i386-mingw32/coverage.so +0 -0
  158. data/shoes/ruby/lib/i386-mingw32/curses.so +0 -0
  159. data/shoes/ruby/lib/i386-mingw32/digest/bubblebabble.so +0 -0
  160. data/shoes/ruby/lib/i386-mingw32/digest/md5.so +0 -0
  161. data/shoes/ruby/lib/i386-mingw32/digest/rmd160.so +0 -0
  162. data/shoes/ruby/lib/i386-mingw32/digest/sha1.so +0 -0
  163. data/shoes/ruby/lib/i386-mingw32/digest/sha2.so +0 -0
  164. data/shoes/ruby/lib/i386-mingw32/digest.so +0 -0
  165. data/shoes/ruby/lib/i386-mingw32/dl.so +0 -0
  166. data/shoes/ruby/lib/i386-mingw32/enc/big5.so +0 -0
  167. data/shoes/ruby/lib/i386-mingw32/enc/cp949.so +0 -0
  168. data/shoes/ruby/lib/i386-mingw32/enc/emacs_mule.so +0 -0
  169. data/shoes/ruby/lib/i386-mingw32/enc/encdb.so +0 -0
  170. data/shoes/ruby/lib/i386-mingw32/enc/euc_jp.so +0 -0
  171. data/shoes/ruby/lib/i386-mingw32/enc/euc_kr.so +0 -0
  172. data/shoes/ruby/lib/i386-mingw32/enc/euc_tw.so +0 -0
  173. data/shoes/ruby/lib/i386-mingw32/enc/gb18030.so +0 -0
  174. data/shoes/ruby/lib/i386-mingw32/enc/gb2312.so +0 -0
  175. data/shoes/ruby/lib/i386-mingw32/enc/gbk.so +0 -0
  176. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_1.so +0 -0
  177. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_10.so +0 -0
  178. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_11.so +0 -0
  179. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_13.so +0 -0
  180. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_14.so +0 -0
  181. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_15.so +0 -0
  182. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_16.so +0 -0
  183. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_2.so +0 -0
  184. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_3.so +0 -0
  185. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_4.so +0 -0
  186. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_5.so +0 -0
  187. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_6.so +0 -0
  188. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_7.so +0 -0
  189. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_8.so +0 -0
  190. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_9.so +0 -0
  191. data/shoes/ruby/lib/i386-mingw32/enc/koi8_r.so +0 -0
  192. data/shoes/ruby/lib/i386-mingw32/enc/koi8_u.so +0 -0
  193. data/shoes/ruby/lib/i386-mingw32/enc/shift_jis.so +0 -0
  194. data/shoes/ruby/lib/i386-mingw32/enc/trans/big5.so +0 -0
  195. data/shoes/ruby/lib/i386-mingw32/enc/trans/chinese.so +0 -0
  196. data/shoes/ruby/lib/i386-mingw32/enc/trans/escape.so +0 -0
  197. data/shoes/ruby/lib/i386-mingw32/enc/trans/gb18030.so +0 -0
  198. data/shoes/ruby/lib/i386-mingw32/enc/trans/gbk.so +0 -0
  199. data/shoes/ruby/lib/i386-mingw32/enc/trans/iso2022.so +0 -0
  200. data/shoes/ruby/lib/i386-mingw32/enc/trans/japanese.so +0 -0
  201. data/shoes/ruby/lib/i386-mingw32/enc/trans/japanese_euc.so +0 -0
  202. data/shoes/ruby/lib/i386-mingw32/enc/trans/japanese_sjis.so +0 -0
  203. data/shoes/ruby/lib/i386-mingw32/enc/trans/korean.so +0 -0
  204. data/shoes/ruby/lib/i386-mingw32/enc/trans/single_byte.so +0 -0
  205. data/shoes/ruby/lib/i386-mingw32/enc/trans/transdb.so +0 -0
  206. data/shoes/ruby/lib/i386-mingw32/enc/trans/utf_16_32.so +0 -0
  207. data/shoes/ruby/lib/i386-mingw32/enc/utf_16be.so +0 -0
  208. data/shoes/ruby/lib/i386-mingw32/enc/utf_16le.so +0 -0
  209. data/shoes/ruby/lib/i386-mingw32/enc/utf_32be.so +0 -0
  210. data/shoes/ruby/lib/i386-mingw32/enc/utf_32le.so +0 -0
  211. data/shoes/ruby/lib/i386-mingw32/enc/windows_1251.so +0 -0
  212. data/shoes/ruby/lib/i386-mingw32/etc.so +0 -0
  213. data/shoes/ruby/lib/i386-mingw32/fcntl.so +0 -0
  214. data/shoes/ruby/lib/i386-mingw32/fiber.so +0 -0
  215. data/shoes/ruby/lib/i386-mingw32/ftsearchrt.so +0 -0
  216. data/shoes/ruby/lib/i386-mingw32/gdbm.so +0 -0
  217. data/shoes/ruby/lib/i386-mingw32/iconv.so +0 -0
  218. data/shoes/ruby/lib/i386-mingw32/io/wait.so +0 -0
  219. data/shoes/ruby/lib/i386-mingw32/json/ext/generator.so +0 -0
  220. data/shoes/ruby/lib/i386-mingw32/json/ext/parser.so +0 -0
  221. data/shoes/ruby/lib/i386-mingw32/mathn/complex.so +0 -0
  222. data/shoes/ruby/lib/i386-mingw32/mathn/rational.so +0 -0
  223. data/shoes/ruby/lib/i386-mingw32/nkf.so +0 -0
  224. data/shoes/ruby/lib/i386-mingw32/openssl.so +0 -0
  225. data/shoes/ruby/lib/i386-mingw32/racc/cparse.so +0 -0
  226. data/shoes/ruby/lib/i386-mingw32/rbconfig.rb +196 -0
  227. data/shoes/ruby/lib/i386-mingw32/readline.so +0 -0
  228. data/shoes/ruby/lib/i386-mingw32/ripper.so +0 -0
  229. data/shoes/ruby/lib/i386-mingw32/sdbm.so +0 -0
  230. data/shoes/ruby/lib/i386-mingw32/socket.so +0 -0
  231. data/shoes/ruby/lib/i386-mingw32/stringio.so +0 -0
  232. data/shoes/ruby/lib/i386-mingw32/strscan.so +0 -0
  233. data/shoes/ruby/lib/i386-mingw32/syck.so +0 -0
  234. data/shoes/ruby/lib/i386-mingw32/win32ole.so +0 -0
  235. data/shoes/ruby/lib/i386-mingw32/zlib.so +0 -0
  236. data/shoes/ruby/lib/io/nonblock.rb +23 -0
  237. data/shoes/ruby/lib/ipaddr.rb +813 -0
  238. data/shoes/ruby/lib/irb/cmd/chws.rb +32 -0
  239. data/shoes/ruby/lib/irb/cmd/fork.rb +38 -0
  240. data/shoes/ruby/lib/irb/cmd/help.rb +36 -0
  241. data/shoes/ruby/lib/irb/cmd/load.rb +66 -0
  242. data/shoes/ruby/lib/irb/cmd/nop.rb +38 -0
  243. data/shoes/ruby/lib/irb/cmd/pushws.rb +38 -0
  244. data/shoes/ruby/lib/irb/cmd/subirb.rb +42 -0
  245. data/shoes/ruby/lib/irb/completion.rb +207 -0
  246. data/shoes/ruby/lib/irb/context.rb +255 -0
  247. data/shoes/ruby/lib/irb/ext/change-ws.rb +61 -0
  248. data/shoes/ruby/lib/irb/ext/history.rb +109 -0
  249. data/shoes/ruby/lib/irb/ext/loader.rb +119 -0
  250. data/shoes/ruby/lib/irb/ext/math-mode.rb +36 -0
  251. data/shoes/ruby/lib/irb/ext/multi-irb.rb +240 -0
  252. data/shoes/ruby/lib/irb/ext/save-history.rb +100 -0
  253. data/shoes/ruby/lib/irb/ext/tracer.rb +60 -0
  254. data/shoes/ruby/lib/irb/ext/use-loader.rb +64 -0
  255. data/shoes/ruby/lib/irb/ext/workspaces.rb +55 -0
  256. data/shoes/ruby/lib/irb/extend-command.rb +272 -0
  257. data/shoes/ruby/lib/irb/frame.rb +66 -0
  258. data/shoes/ruby/lib/irb/help.rb +35 -0
  259. data/shoes/ruby/lib/irb/init.rb +288 -0
  260. data/shoes/ruby/lib/irb/input-method.rb +142 -0
  261. data/shoes/ruby/lib/irb/lc/error.rb +29 -0
  262. data/shoes/ruby/lib/irb/lc/help-message +38 -0
  263. data/shoes/ruby/lib/irb/lc/ja/encoding_aliases.rb +8 -0
  264. data/shoes/ruby/lib/irb/lc/ja/error.rb +27 -0
  265. data/shoes/ruby/lib/irb/lc/ja/help-message +39 -0
  266. data/shoes/ruby/lib/irb/locale.rb +195 -0
  267. data/shoes/ruby/lib/irb/magic-file.rb +36 -0
  268. data/shoes/ruby/lib/irb/notifier.rb +144 -0
  269. data/shoes/ruby/lib/irb/output-method.rb +69 -0
  270. data/shoes/ruby/lib/irb/ruby-lex.rb +1188 -0
  271. data/shoes/ruby/lib/irb/ruby-token.rb +270 -0
  272. data/shoes/ruby/lib/irb/slex.rb +282 -0
  273. data/shoes/ruby/lib/irb/src_encoding.rb +4 -0
  274. data/shoes/ruby/lib/irb/version.rb +15 -0
  275. data/shoes/ruby/lib/irb/workspace.rb +108 -0
  276. data/shoes/ruby/lib/irb/ws-for-case-2.rb +14 -0
  277. data/shoes/ruby/lib/irb/xmp.rb +97 -0
  278. data/shoes/ruby/lib/irb.rb +354 -0
  279. data/shoes/ruby/lib/json/add/core.rb +135 -0
  280. data/shoes/ruby/lib/json/add/rails.rb +58 -0
  281. data/shoes/ruby/lib/json/common.rb +354 -0
  282. data/shoes/ruby/lib/json/editor.rb +1371 -0
  283. data/shoes/ruby/lib/json/ext.rb +15 -0
  284. data/shoes/ruby/lib/json/version.rb +9 -0
  285. data/shoes/ruby/lib/json.rb +297 -0
  286. data/shoes/ruby/lib/kconv.rb +282 -0
  287. data/shoes/ruby/lib/logger.rb +732 -0
  288. data/shoes/ruby/lib/mathn.rb +206 -0
  289. data/shoes/ruby/lib/matrix.rb +1381 -0
  290. data/shoes/ruby/lib/minitest/autorun.rb +9 -0
  291. data/shoes/ruby/lib/minitest/mock.rb +37 -0
  292. data/shoes/ruby/lib/minitest/spec.rb +89 -0
  293. data/shoes/ruby/lib/minitest/unit.rb +497 -0
  294. data/shoes/ruby/lib/mkmf.rb +1958 -0
  295. data/shoes/ruby/lib/monitor.rb +265 -0
  296. data/shoes/ruby/lib/mutex_m.rb +91 -0
  297. data/shoes/ruby/lib/net/ftp.rb +981 -0
  298. data/shoes/ruby/lib/net/http.rb +2399 -0
  299. data/shoes/ruby/lib/net/https.rb +136 -0
  300. data/shoes/ruby/lib/net/imap.rb +3500 -0
  301. data/shoes/ruby/lib/net/pop.rb +1000 -0
  302. data/shoes/ruby/lib/net/protocol.rb +382 -0
  303. data/shoes/ruby/lib/net/smtp.rb +1014 -0
  304. data/shoes/ruby/lib/net/telnet.rb +759 -0
  305. data/shoes/ruby/lib/observer.rb +193 -0
  306. data/shoes/ruby/lib/open-uri.rb +832 -0
  307. data/shoes/ruby/lib/open3.rb +98 -0
  308. data/shoes/ruby/lib/openssl/bn.rb +35 -0
  309. data/shoes/ruby/lib/openssl/buffering.rb +242 -0
  310. data/shoes/ruby/lib/openssl/cipher.rb +65 -0
  311. data/shoes/ruby/lib/openssl/digest.rb +61 -0
  312. data/shoes/ruby/lib/openssl/ssl.rb +178 -0
  313. data/shoes/ruby/lib/openssl/x509.rb +155 -0
  314. data/shoes/ruby/lib/openssl.rb +24 -0
  315. data/shoes/ruby/lib/optparse/date.rb +17 -0
  316. data/shoes/ruby/lib/optparse/shellwords.rb +6 -0
  317. data/shoes/ruby/lib/optparse/time.rb +10 -0
  318. data/shoes/ruby/lib/optparse/uri.rb +6 -0
  319. data/shoes/ruby/lib/optparse/version.rb +70 -0
  320. data/shoes/ruby/lib/optparse.rb +1810 -0
  321. data/shoes/ruby/lib/ostruct.rb +145 -0
  322. data/shoes/ruby/lib/pathname.rb +1099 -0
  323. data/shoes/ruby/lib/pp.rb +532 -0
  324. data/shoes/ruby/lib/prettyprint.rb +896 -0
  325. data/shoes/ruby/lib/prime.rb +471 -0
  326. data/shoes/ruby/lib/profile.rb +10 -0
  327. data/shoes/ruby/lib/profiler.rb +59 -0
  328. data/shoes/ruby/lib/pstore.rb +543 -0
  329. data/shoes/ruby/lib/racc/parser.rb +441 -0
  330. data/shoes/ruby/lib/rake/classic_namespace.rb +8 -0
  331. data/shoes/ruby/lib/rake/clean.rb +33 -0
  332. data/shoes/ruby/lib/rake/gempackagetask.rb +97 -0
  333. data/shoes/ruby/lib/rake/loaders/makefile.rb +35 -0
  334. data/shoes/ruby/lib/rake/packagetask.rb +185 -0
  335. data/shoes/ruby/lib/rake/rake_test_loader.rb +5 -0
  336. data/shoes/ruby/lib/rake/rdoctask.rb +147 -0
  337. data/shoes/ruby/lib/rake/runtest.rb +23 -0
  338. data/shoes/ruby/lib/rake/tasklib.rb +23 -0
  339. data/shoes/ruby/lib/rake/testtask.rb +161 -0
  340. data/shoes/ruby/lib/rake/win32.rb +34 -0
  341. data/shoes/ruby/lib/rake.rb +2465 -0
  342. data/shoes/ruby/lib/rational.rb +19 -0
  343. data/shoes/ruby/lib/rbconfig/datadir.rb +24 -0
  344. data/shoes/ruby/lib/rdoc/code_objects.rb +1061 -0
  345. data/shoes/ruby/lib/rdoc/diagram.rb +340 -0
  346. data/shoes/ruby/lib/rdoc/dot.rb +249 -0
  347. data/shoes/ruby/lib/rdoc/generator/chm/chm.rb +100 -0
  348. data/shoes/ruby/lib/rdoc/generator/chm.rb +113 -0
  349. data/shoes/ruby/lib/rdoc/generator/html/common.rb +24 -0
  350. data/shoes/ruby/lib/rdoc/generator/html/frameless.rb +92 -0
  351. data/shoes/ruby/lib/rdoc/generator/html/hefss.rb +150 -0
  352. data/shoes/ruby/lib/rdoc/generator/html/html.rb +769 -0
  353. data/shoes/ruby/lib/rdoc/generator/html/kilmer.rb +151 -0
  354. data/shoes/ruby/lib/rdoc/generator/html/kilmerfactory.rb +427 -0
  355. data/shoes/ruby/lib/rdoc/generator/html/one_page_html.rb +122 -0
  356. data/shoes/ruby/lib/rdoc/generator/html.rb +445 -0
  357. data/shoes/ruby/lib/rdoc/generator/ri.rb +226 -0
  358. data/shoes/ruby/lib/rdoc/generator/texinfo/class.texinfo.erb +44 -0
  359. data/shoes/ruby/lib/rdoc/generator/texinfo/file.texinfo.erb +6 -0
  360. data/shoes/ruby/lib/rdoc/generator/texinfo/method.texinfo.erb +6 -0
  361. data/shoes/ruby/lib/rdoc/generator/texinfo/texinfo.erb +28 -0
  362. data/shoes/ruby/lib/rdoc/generator/texinfo.rb +81 -0
  363. data/shoes/ruby/lib/rdoc/generator/xml/rdf.rb +113 -0
  364. data/shoes/ruby/lib/rdoc/generator/xml/xml.rb +123 -0
  365. data/shoes/ruby/lib/rdoc/generator/xml.rb +117 -0
  366. data/shoes/ruby/lib/rdoc/generator.rb +1082 -0
  367. data/shoes/ruby/lib/rdoc/known_classes.rb +68 -0
  368. data/shoes/ruby/lib/rdoc/markup/attribute_manager.rb +265 -0
  369. data/shoes/ruby/lib/rdoc/markup/formatter.rb +14 -0
  370. data/shoes/ruby/lib/rdoc/markup/fragments.rb +337 -0
  371. data/shoes/ruby/lib/rdoc/markup/inline.rb +101 -0
  372. data/shoes/ruby/lib/rdoc/markup/lines.rb +152 -0
  373. data/shoes/ruby/lib/rdoc/markup/preprocess.rb +75 -0
  374. data/shoes/ruby/lib/rdoc/markup/to_flow.rb +185 -0
  375. data/shoes/ruby/lib/rdoc/markup/to_html.rb +403 -0
  376. data/shoes/ruby/lib/rdoc/markup/to_html_crossref.rb +148 -0
  377. data/shoes/ruby/lib/rdoc/markup/to_latex.rb +328 -0
  378. data/shoes/ruby/lib/rdoc/markup/to_test.rb +50 -0
  379. data/shoes/ruby/lib/rdoc/markup/to_texinfo.rb +69 -0
  380. data/shoes/ruby/lib/rdoc/markup.rb +378 -0
  381. data/shoes/ruby/lib/rdoc/options.rb +638 -0
  382. data/shoes/ruby/lib/rdoc/parser/c.rb +661 -0
  383. data/shoes/ruby/lib/rdoc/parser/f95.rb +1835 -0
  384. data/shoes/ruby/lib/rdoc/parser/perl.rb +165 -0
  385. data/shoes/ruby/lib/rdoc/parser/ruby.rb +2829 -0
  386. data/shoes/ruby/lib/rdoc/parser/simple.rb +38 -0
  387. data/shoes/ruby/lib/rdoc/parser.rb +142 -0
  388. data/shoes/ruby/lib/rdoc/rdoc.rb +293 -0
  389. data/shoes/ruby/lib/rdoc/ri/cache.rb +187 -0
  390. data/shoes/ruby/lib/rdoc/ri/descriptions.rb +156 -0
  391. data/shoes/ruby/lib/rdoc/ri/display.rb +392 -0
  392. data/shoes/ruby/lib/rdoc/ri/driver.rb +669 -0
  393. data/shoes/ruby/lib/rdoc/ri/formatter.rb +616 -0
  394. data/shoes/ruby/lib/rdoc/ri/paths.rb +99 -0
  395. data/shoes/ruby/lib/rdoc/ri/reader.rb +106 -0
  396. data/shoes/ruby/lib/rdoc/ri/util.rb +79 -0
  397. data/shoes/ruby/lib/rdoc/ri/writer.rb +68 -0
  398. data/shoes/ruby/lib/rdoc/ri.rb +8 -0
  399. data/shoes/ruby/lib/rdoc/stats.rb +115 -0
  400. data/shoes/ruby/lib/rdoc/template.rb +64 -0
  401. data/shoes/ruby/lib/rdoc/tokenstream.rb +33 -0
  402. data/shoes/ruby/lib/rdoc.rb +395 -0
  403. data/shoes/ruby/lib/resolv-replace.rb +63 -0
  404. data/shoes/ruby/lib/resolv.rb +2262 -0
  405. data/shoes/ruby/lib/rexml/attlistdecl.rb +62 -0
  406. data/shoes/ruby/lib/rexml/attribute.rb +188 -0
  407. data/shoes/ruby/lib/rexml/cdata.rb +67 -0
  408. data/shoes/ruby/lib/rexml/child.rb +96 -0
  409. data/shoes/ruby/lib/rexml/comment.rb +80 -0
  410. data/shoes/ruby/lib/rexml/doctype.rb +270 -0
  411. data/shoes/ruby/lib/rexml/document.rb +231 -0
  412. data/shoes/ruby/lib/rexml/dtd/attlistdecl.rb +10 -0
  413. data/shoes/ruby/lib/rexml/dtd/dtd.rb +51 -0
  414. data/shoes/ruby/lib/rexml/dtd/elementdecl.rb +17 -0
  415. data/shoes/ruby/lib/rexml/dtd/entitydecl.rb +56 -0
  416. data/shoes/ruby/lib/rexml/dtd/notationdecl.rb +39 -0
  417. data/shoes/ruby/lib/rexml/element.rb +1246 -0
  418. data/shoes/ruby/lib/rexml/encoding.rb +71 -0
  419. data/shoes/ruby/lib/rexml/encodings/CP-1252.rb +103 -0
  420. data/shoes/ruby/lib/rexml/encodings/EUC-JP.rb +35 -0
  421. data/shoes/ruby/lib/rexml/encodings/ICONV.rb +22 -0
  422. data/shoes/ruby/lib/rexml/encodings/ISO-8859-1.rb +7 -0
  423. data/shoes/ruby/lib/rexml/encodings/ISO-8859-15.rb +72 -0
  424. data/shoes/ruby/lib/rexml/encodings/SHIFT-JIS.rb +37 -0
  425. data/shoes/ruby/lib/rexml/encodings/SHIFT_JIS.rb +1 -0
  426. data/shoes/ruby/lib/rexml/encodings/UNILE.rb +34 -0
  427. data/shoes/ruby/lib/rexml/encodings/US-ASCII.rb +30 -0
  428. data/shoes/ruby/lib/rexml/encodings/UTF-16.rb +35 -0
  429. data/shoes/ruby/lib/rexml/encodings/UTF-8.rb +18 -0
  430. data/shoes/ruby/lib/rexml/entity.rb +166 -0
  431. data/shoes/ruby/lib/rexml/formatters/default.rb +109 -0
  432. data/shoes/ruby/lib/rexml/formatters/pretty.rb +139 -0
  433. data/shoes/ruby/lib/rexml/formatters/transitive.rb +58 -0
  434. data/shoes/ruby/lib/rexml/functions.rb +388 -0
  435. data/shoes/ruby/lib/rexml/instruction.rb +70 -0
  436. data/shoes/ruby/lib/rexml/light/node.rb +196 -0
  437. data/shoes/ruby/lib/rexml/namespace.rb +47 -0
  438. data/shoes/ruby/lib/rexml/node.rb +75 -0
  439. data/shoes/ruby/lib/rexml/output.rb +24 -0
  440. data/shoes/ruby/lib/rexml/parent.rb +166 -0
  441. data/shoes/ruby/lib/rexml/parseexception.rb +51 -0
  442. data/shoes/ruby/lib/rexml/parsers/baseparser.rb +530 -0
  443. data/shoes/ruby/lib/rexml/parsers/lightparser.rb +58 -0
  444. data/shoes/ruby/lib/rexml/parsers/pullparser.rb +196 -0
  445. data/shoes/ruby/lib/rexml/parsers/sax2parser.rb +247 -0
  446. data/shoes/ruby/lib/rexml/parsers/streamparser.rb +46 -0
  447. data/shoes/ruby/lib/rexml/parsers/treeparser.rb +100 -0
  448. data/shoes/ruby/lib/rexml/parsers/ultralightparser.rb +56 -0
  449. data/shoes/ruby/lib/rexml/parsers/xpathparser.rb +698 -0
  450. data/shoes/ruby/lib/rexml/quickpath.rb +263 -0
  451. data/shoes/ruby/lib/rexml/rexml.rb +31 -0
  452. data/shoes/ruby/lib/rexml/sax2listener.rb +97 -0
  453. data/shoes/ruby/lib/rexml/source.rb +258 -0
  454. data/shoes/ruby/lib/rexml/streamlistener.rb +92 -0
  455. data/shoes/ruby/lib/rexml/syncenumerator.rb +32 -0
  456. data/shoes/ruby/lib/rexml/text.rb +404 -0
  457. data/shoes/ruby/lib/rexml/undefinednamespaceexception.rb +8 -0
  458. data/shoes/ruby/lib/rexml/validation/relaxng.rb +559 -0
  459. data/shoes/ruby/lib/rexml/validation/validation.rb +155 -0
  460. data/shoes/ruby/lib/rexml/validation/validationexception.rb +9 -0
  461. data/shoes/ruby/lib/rexml/xmldecl.rb +119 -0
  462. data/shoes/ruby/lib/rexml/xmltokens.rb +18 -0
  463. data/shoes/ruby/lib/rexml/xpath.rb +77 -0
  464. data/shoes/ruby/lib/rexml/xpath_parser.rb +792 -0
  465. data/shoes/ruby/lib/rinda/rinda.rb +283 -0
  466. data/shoes/ruby/lib/rinda/ring.rb +271 -0
  467. data/shoes/ruby/lib/rinda/tuplespace.rb +642 -0
  468. data/shoes/ruby/lib/ripper/core.rb +70 -0
  469. data/shoes/ruby/lib/ripper/filter.rb +70 -0
  470. data/shoes/ruby/lib/ripper/lexer.rb +179 -0
  471. data/shoes/ruby/lib/ripper/sexp.rb +99 -0
  472. data/shoes/ruby/lib/ripper.rb +4 -0
  473. data/shoes/ruby/lib/rss/0.9.rb +427 -0
  474. data/shoes/ruby/lib/rss/1.0.rb +452 -0
  475. data/shoes/ruby/lib/rss/2.0.rb +111 -0
  476. data/shoes/ruby/lib/rss/atom.rb +748 -0
  477. data/shoes/ruby/lib/rss/content/1.0.rb +10 -0
  478. data/shoes/ruby/lib/rss/content/2.0.rb +12 -0
  479. data/shoes/ruby/lib/rss/content.rb +31 -0
  480. data/shoes/ruby/lib/rss/converter.rb +170 -0
  481. data/shoes/ruby/lib/rss/dublincore/1.0.rb +13 -0
  482. data/shoes/ruby/lib/rss/dublincore/2.0.rb +13 -0
  483. data/shoes/ruby/lib/rss/dublincore/atom.rb +17 -0
  484. data/shoes/ruby/lib/rss/dublincore.rb +161 -0
  485. data/shoes/ruby/lib/rss/image.rb +193 -0
  486. data/shoes/ruby/lib/rss/itunes.rb +410 -0
  487. data/shoes/ruby/lib/rss/maker/0.9.rb +467 -0
  488. data/shoes/ruby/lib/rss/maker/1.0.rb +434 -0
  489. data/shoes/ruby/lib/rss/maker/2.0.rb +223 -0
  490. data/shoes/ruby/lib/rss/maker/atom.rb +172 -0
  491. data/shoes/ruby/lib/rss/maker/base.rb +880 -0
  492. data/shoes/ruby/lib/rss/maker/content.rb +21 -0
  493. data/shoes/ruby/lib/rss/maker/dublincore.rb +124 -0
  494. data/shoes/ruby/lib/rss/maker/entry.rb +163 -0
  495. data/shoes/ruby/lib/rss/maker/feed.rb +430 -0
  496. data/shoes/ruby/lib/rss/maker/image.rb +111 -0
  497. data/shoes/ruby/lib/rss/maker/itunes.rb +242 -0
  498. data/shoes/ruby/lib/rss/maker/slash.rb +33 -0
  499. data/shoes/ruby/lib/rss/maker/syndication.rb +18 -0
  500. data/shoes/ruby/lib/rss/maker/taxonomy.rb +118 -0
  501. data/shoes/ruby/lib/rss/maker/trackback.rb +61 -0
  502. data/shoes/ruby/lib/rss/maker.rb +44 -0
  503. data/shoes/ruby/lib/rss/parser.rb +568 -0
  504. data/shoes/ruby/lib/rss/rexmlparser.rb +54 -0
  505. data/shoes/ruby/lib/rss/rss.rb +1313 -0
  506. data/shoes/ruby/lib/rss/slash.rb +49 -0
  507. data/shoes/ruby/lib/rss/syndication.rb +67 -0
  508. data/shoes/ruby/lib/rss/taxonomy.rb +145 -0
  509. data/shoes/ruby/lib/rss/trackback.rb +288 -0
  510. data/shoes/ruby/lib/rss/utils.rb +111 -0
  511. data/shoes/ruby/lib/rss/xml-stylesheet.rb +105 -0
  512. data/shoes/ruby/lib/rss/xml.rb +71 -0
  513. data/shoes/ruby/lib/rss/xmlparser.rb +93 -0
  514. data/shoes/ruby/lib/rss/xmlscanner.rb +121 -0
  515. data/shoes/ruby/lib/rss.rb +19 -0
  516. data/shoes/ruby/lib/rubygems/builder.rb +88 -0
  517. data/shoes/ruby/lib/rubygems/command.rb +406 -0
  518. data/shoes/ruby/lib/rubygems/command_manager.rb +146 -0
  519. data/shoes/ruby/lib/rubygems/commands/build_command.rb +53 -0
  520. data/shoes/ruby/lib/rubygems/commands/cert_command.rb +86 -0
  521. data/shoes/ruby/lib/rubygems/commands/check_command.rb +75 -0
  522. data/shoes/ruby/lib/rubygems/commands/cleanup_command.rb +91 -0
  523. data/shoes/ruby/lib/rubygems/commands/contents_command.rb +74 -0
  524. data/shoes/ruby/lib/rubygems/commands/dependency_command.rb +188 -0
  525. data/shoes/ruby/lib/rubygems/commands/environment_command.rb +128 -0
  526. data/shoes/ruby/lib/rubygems/commands/fetch_command.rb +62 -0
  527. data/shoes/ruby/lib/rubygems/commands/generate_index_command.rb +57 -0
  528. data/shoes/ruby/lib/rubygems/commands/help_command.rb +172 -0
  529. data/shoes/ruby/lib/rubygems/commands/install_command.rb +148 -0
  530. data/shoes/ruby/lib/rubygems/commands/list_command.rb +35 -0
  531. data/shoes/ruby/lib/rubygems/commands/lock_command.rb +110 -0
  532. data/shoes/ruby/lib/rubygems/commands/mirror_command.rb +111 -0
  533. data/shoes/ruby/lib/rubygems/commands/outdated_command.rb +33 -0
  534. data/shoes/ruby/lib/rubygems/commands/pristine_command.rb +93 -0
  535. data/shoes/ruby/lib/rubygems/commands/query_command.rb +233 -0
  536. data/shoes/ruby/lib/rubygems/commands/rdoc_command.rb +82 -0
  537. data/shoes/ruby/lib/rubygems/commands/search_command.rb +37 -0
  538. data/shoes/ruby/lib/rubygems/commands/server_command.rb +48 -0
  539. data/shoes/ruby/lib/rubygems/commands/sources_command.rb +152 -0
  540. data/shoes/ruby/lib/rubygems/commands/specification_command.rb +77 -0
  541. data/shoes/ruby/lib/rubygems/commands/stale_command.rb +27 -0
  542. data/shoes/ruby/lib/rubygems/commands/uninstall_command.rb +73 -0
  543. data/shoes/ruby/lib/rubygems/commands/unpack_command.rb +95 -0
  544. data/shoes/ruby/lib/rubygems/commands/update_command.rb +181 -0
  545. data/shoes/ruby/lib/rubygems/commands/which_command.rb +87 -0
  546. data/shoes/ruby/lib/rubygems/config_file.rb +266 -0
  547. data/shoes/ruby/lib/rubygems/custom_require.rb +46 -0
  548. data/shoes/ruby/lib/rubygems/defaults.rb +89 -0
  549. data/shoes/ruby/lib/rubygems/dependency.rb +119 -0
  550. data/shoes/ruby/lib/rubygems/dependency_installer.rb +258 -0
  551. data/shoes/ruby/lib/rubygems/dependency_list.rb +165 -0
  552. data/shoes/ruby/lib/rubygems/digest/digest_adapter.rb +40 -0
  553. data/shoes/ruby/lib/rubygems/digest/md5.rb +23 -0
  554. data/shoes/ruby/lib/rubygems/digest/sha1.rb +17 -0
  555. data/shoes/ruby/lib/rubygems/digest/sha2.rb +17 -0
  556. data/shoes/ruby/lib/rubygems/doc_manager.rb +214 -0
  557. data/shoes/ruby/lib/rubygems/exceptions.rb +84 -0
  558. data/shoes/ruby/lib/rubygems/ext/builder.rb +56 -0
  559. data/shoes/ruby/lib/rubygems/ext/configure_builder.rb +24 -0
  560. data/shoes/ruby/lib/rubygems/ext/ext_conf_builder.rb +23 -0
  561. data/shoes/ruby/lib/rubygems/ext/rake_builder.rb +27 -0
  562. data/shoes/ruby/lib/rubygems/ext.rb +18 -0
  563. data/shoes/ruby/lib/rubygems/format.rb +87 -0
  564. data/shoes/ruby/lib/rubygems/gem_openssl.rb +83 -0
  565. data/shoes/ruby/lib/rubygems/gem_path_searcher.rb +100 -0
  566. data/shoes/ruby/lib/rubygems/gem_runner.rb +58 -0
  567. data/shoes/ruby/lib/rubygems/indexer/abstract_index_builder.rb +88 -0
  568. data/shoes/ruby/lib/rubygems/indexer/latest_index_builder.rb +35 -0
  569. data/shoes/ruby/lib/rubygems/indexer/marshal_index_builder.rb +17 -0
  570. data/shoes/ruby/lib/rubygems/indexer/master_index_builder.rb +54 -0
  571. data/shoes/ruby/lib/rubygems/indexer/quick_index_builder.rb +50 -0
  572. data/shoes/ruby/lib/rubygems/indexer.rb +370 -0
  573. data/shoes/ruby/lib/rubygems/install_update_options.rb +113 -0
  574. data/shoes/ruby/lib/rubygems/installer.rb +578 -0
  575. data/shoes/ruby/lib/rubygems/local_remote_options.rb +134 -0
  576. data/shoes/ruby/lib/rubygems/old_format.rb +148 -0
  577. data/shoes/ruby/lib/rubygems/package/f_sync_dir.rb +24 -0
  578. data/shoes/ruby/lib/rubygems/package/tar_header.rb +245 -0
  579. data/shoes/ruby/lib/rubygems/package/tar_input.rb +219 -0
  580. data/shoes/ruby/lib/rubygems/package/tar_output.rb +143 -0
  581. data/shoes/ruby/lib/rubygems/package/tar_reader/entry.rb +99 -0
  582. data/shoes/ruby/lib/rubygems/package/tar_reader.rb +86 -0
  583. data/shoes/ruby/lib/rubygems/package/tar_writer.rb +180 -0
  584. data/shoes/ruby/lib/rubygems/package.rb +95 -0
  585. data/shoes/ruby/lib/rubygems/platform.rb +178 -0
  586. data/shoes/ruby/lib/rubygems/remote_fetcher.rb +344 -0
  587. data/shoes/ruby/lib/rubygems/require_paths_builder.rb +15 -0
  588. data/shoes/ruby/lib/rubygems/requirement.rb +163 -0
  589. data/shoes/ruby/lib/rubygems/rubygems_version.rb +6 -0
  590. data/shoes/ruby/lib/rubygems/security.rb +786 -0
  591. data/shoes/ruby/lib/rubygems/server.rb +629 -0
  592. data/shoes/ruby/lib/rubygems/source_index.rb +559 -0
  593. data/shoes/ruby/lib/rubygems/source_info_cache.rb +393 -0
  594. data/shoes/ruby/lib/rubygems/source_info_cache_entry.rb +56 -0
  595. data/shoes/ruby/lib/rubygems/spec_fetcher.rb +249 -0
  596. data/shoes/ruby/lib/rubygems/specification.rb +1262 -0
  597. data/shoes/ruby/lib/rubygems/test_utilities.rb +131 -0
  598. data/shoes/ruby/lib/rubygems/timer.rb +25 -0
  599. data/shoes/ruby/lib/rubygems/uninstaller.rb +242 -0
  600. data/shoes/ruby/lib/rubygems/user_interaction.rb +360 -0
  601. data/shoes/ruby/lib/rubygems/validator.rb +208 -0
  602. data/shoes/ruby/lib/rubygems/version.rb +167 -0
  603. data/shoes/ruby/lib/rubygems/version_option.rb +48 -0
  604. data/shoes/ruby/lib/rubygems.rb +888 -0
  605. data/shoes/ruby/lib/scanf.rb +703 -0
  606. data/shoes/ruby/lib/securerandom.rb +182 -0
  607. data/shoes/ruby/lib/set.rb +1274 -0
  608. data/shoes/ruby/lib/shell/builtin-command.rb +160 -0
  609. data/shoes/ruby/lib/shell/command-processor.rb +593 -0
  610. data/shoes/ruby/lib/shell/error.rb +25 -0
  611. data/shoes/ruby/lib/shell/filter.rb +109 -0
  612. data/shoes/ruby/lib/shell/process-controller.rb +319 -0
  613. data/shoes/ruby/lib/shell/system-command.rb +159 -0
  614. data/shoes/ruby/lib/shell/version.rb +15 -0
  615. data/shoes/ruby/lib/shell.rb +300 -0
  616. data/shoes/ruby/lib/shellwords.rb +156 -0
  617. data/shoes/ruby/lib/singleton.rb +313 -0
  618. data/shoes/ruby/lib/sync.rb +307 -0
  619. data/shoes/ruby/lib/tempfile.rb +218 -0
  620. data/shoes/ruby/lib/test/unit/assertions.rb +122 -0
  621. data/shoes/ruby/lib/test/unit/testcase.rb +12 -0
  622. data/shoes/ruby/lib/test/unit.rb +66 -0
  623. data/shoes/ruby/lib/thread.rb +367 -0
  624. data/shoes/ruby/lib/thwait.rb +168 -0
  625. data/shoes/ruby/lib/time.rb +869 -0
  626. data/shoes/ruby/lib/timeout.rb +108 -0
  627. data/shoes/ruby/lib/tmpdir.rb +138 -0
  628. data/shoes/ruby/lib/tracer.rb +166 -0
  629. data/shoes/ruby/lib/tsort.rb +290 -0
  630. data/shoes/ruby/lib/ubygems.rb +10 -0
  631. data/shoes/ruby/lib/un.rb +304 -0
  632. data/shoes/ruby/lib/uri/common.rb +727 -0
  633. data/shoes/ruby/lib/uri/ftp.rb +198 -0
  634. data/shoes/ruby/lib/uri/generic.rb +1128 -0
  635. data/shoes/ruby/lib/uri/http.rb +100 -0
  636. data/shoes/ruby/lib/uri/https.rb +20 -0
  637. data/shoes/ruby/lib/uri/ldap.rb +190 -0
  638. data/shoes/ruby/lib/uri/ldaps.rb +12 -0
  639. data/shoes/ruby/lib/uri/mailto.rb +266 -0
  640. data/shoes/ruby/lib/uri.rb +29 -0
  641. data/shoes/ruby/lib/weakref.rb +80 -0
  642. data/shoes/ruby/lib/webrick/accesslog.rb +75 -0
  643. data/shoes/ruby/lib/webrick/cgi.rb +260 -0
  644. data/shoes/ruby/lib/webrick/compat.rb +15 -0
  645. data/shoes/ruby/lib/webrick/config.rb +100 -0
  646. data/shoes/ruby/lib/webrick/cookie.rb +110 -0
  647. data/shoes/ruby/lib/webrick/htmlutils.rb +25 -0
  648. data/shoes/ruby/lib/webrick/httpauth/authenticator.rb +79 -0
  649. data/shoes/ruby/lib/webrick/httpauth/basicauth.rb +65 -0
  650. data/shoes/ruby/lib/webrick/httpauth/digestauth.rb +344 -0
  651. data/shoes/ruby/lib/webrick/httpauth/htdigest.rb +91 -0
  652. data/shoes/ruby/lib/webrick/httpauth/htgroup.rb +61 -0
  653. data/shoes/ruby/lib/webrick/httpauth/htpasswd.rb +83 -0
  654. data/shoes/ruby/lib/webrick/httpauth/userdb.rb +29 -0
  655. data/shoes/ruby/lib/webrick/httpauth.rb +45 -0
  656. data/shoes/ruby/lib/webrick/httpproxy.rb +288 -0
  657. data/shoes/ruby/lib/webrick/httprequest.rb +402 -0
  658. data/shoes/ruby/lib/webrick/httpresponse.rb +326 -0
  659. data/shoes/ruby/lib/webrick/https.rb +63 -0
  660. data/shoes/ruby/lib/webrick/httpserver.rb +217 -0
  661. data/shoes/ruby/lib/webrick/httpservlet/abstract.rb +70 -0
  662. data/shoes/ruby/lib/webrick/httpservlet/cgi_runner.rb +47 -0
  663. data/shoes/ruby/lib/webrick/httpservlet/cgihandler.rb +110 -0
  664. data/shoes/ruby/lib/webrick/httpservlet/erbhandler.rb +54 -0
  665. data/shoes/ruby/lib/webrick/httpservlet/filehandler.rb +435 -0
  666. data/shoes/ruby/lib/webrick/httpservlet/prochandler.rb +33 -0
  667. data/shoes/ruby/lib/webrick/httpservlet.rb +22 -0
  668. data/shoes/ruby/lib/webrick/httpstatus.rb +132 -0
  669. data/shoes/ruby/lib/webrick/httputils.rb +392 -0
  670. data/shoes/ruby/lib/webrick/httpversion.rb +49 -0
  671. data/shoes/ruby/lib/webrick/log.rb +88 -0
  672. data/shoes/ruby/lib/webrick/server.rb +210 -0
  673. data/shoes/ruby/lib/webrick/ssl.rb +126 -0
  674. data/shoes/ruby/lib/webrick/utils.rb +175 -0
  675. data/shoes/ruby/lib/webrick/version.rb +13 -0
  676. data/shoes/ruby/lib/webrick.rb +29 -0
  677. data/shoes/ruby/lib/win32/registry.rb +832 -0
  678. data/shoes/ruby/lib/win32/resolv.rb +370 -0
  679. data/shoes/ruby/lib/win32/sspi.rb +330 -0
  680. data/shoes/ruby/lib/win32ole/property.rb +16 -0
  681. data/shoes/ruby/lib/xmlrpc/base64.rb +81 -0
  682. data/shoes/ruby/lib/xmlrpc/client.rb +625 -0
  683. data/shoes/ruby/lib/xmlrpc/config.rb +40 -0
  684. data/shoes/ruby/lib/xmlrpc/create.rb +290 -0
  685. data/shoes/ruby/lib/xmlrpc/datetime.rb +142 -0
  686. data/shoes/ruby/lib/xmlrpc/httpserver.rb +178 -0
  687. data/shoes/ruby/lib/xmlrpc/marshal.rb +76 -0
  688. data/shoes/ruby/lib/xmlrpc/parser.rb +813 -0
  689. data/shoes/ruby/lib/xmlrpc/server.rb +778 -0
  690. data/shoes/ruby/lib/xmlrpc/utils.rb +165 -0
  691. data/shoes/ruby/lib/yaml/baseemitter.rb +242 -0
  692. data/shoes/ruby/lib/yaml/basenode.rb +216 -0
  693. data/shoes/ruby/lib/yaml/constants.rb +45 -0
  694. data/shoes/ruby/lib/yaml/dbm.rb +111 -0
  695. data/shoes/ruby/lib/yaml/encoding.rb +33 -0
  696. data/shoes/ruby/lib/yaml/error.rb +34 -0
  697. data/shoes/ruby/lib/yaml/loader.rb +14 -0
  698. data/shoes/ruby/lib/yaml/rubytypes.rb +446 -0
  699. data/shoes/ruby/lib/yaml/store.rb +43 -0
  700. data/shoes/ruby/lib/yaml/stream.rb +40 -0
  701. data/shoes/ruby/lib/yaml/stringio.rb +83 -0
  702. data/shoes/ruby/lib/yaml/syck.rb +19 -0
  703. data/shoes/ruby/lib/yaml/tag.rb +91 -0
  704. data/shoes/ruby/lib/yaml/types.rb +192 -0
  705. data/shoes/ruby/lib/yaml/yamlnode.rb +54 -0
  706. data/shoes/ruby/lib/yaml/ypath.rb +52 -0
  707. data/shoes/ruby/lib/yaml.rb +440 -0
  708. data/shoes/samples/class-book.rb +43 -0
  709. data/shoes/samples/class-book.yaml +387 -0
  710. data/shoes/samples/expert-definr.rb +23 -0
  711. data/shoes/samples/expert-funnies.rb +51 -0
  712. data/shoes/samples/expert-irb.rb +112 -0
  713. data/shoes/samples/expert-minesweeper.rb +267 -0
  714. data/shoes/samples/expert-othello.rb +319 -0
  715. data/shoes/samples/expert-pong.rb +62 -0
  716. data/shoes/samples/expert-tankspank.rb +385 -0
  717. data/shoes/samples/good-arc.rb +37 -0
  718. data/shoes/samples/good-clock.rb +51 -0
  719. data/shoes/samples/good-follow.rb +26 -0
  720. data/shoes/samples/good-reminder.rb +174 -0
  721. data/shoes/samples/good-vjot.rb +56 -0
  722. data/shoes/samples/simple-accordion.rb +75 -0
  723. data/shoes/samples/simple-anim-shapes.rb +17 -0
  724. data/shoes/samples/simple-anim-text.rb +13 -0
  725. data/shoes/samples/simple-arc.rb +23 -0
  726. data/shoes/samples/simple-bounce.rb +24 -0
  727. data/shoes/samples/simple-calc.rb +70 -0
  728. data/shoes/samples/simple-control-sizes.rb +24 -0
  729. data/shoes/samples/simple-curve.rb +26 -0
  730. data/shoes/samples/simple-dialogs.rb +29 -0
  731. data/shoes/samples/simple-downloader.rb +27 -0
  732. data/shoes/samples/simple-draw.rb +13 -0
  733. data/shoes/samples/simple-editor.rb +28 -0
  734. data/shoes/samples/simple-form.rb +28 -0
  735. data/shoes/samples/simple-form.shy +0 -0
  736. data/shoes/samples/simple-mask.rb +21 -0
  737. data/shoes/samples/simple-menu.rb +31 -0
  738. data/shoes/samples/simple-menu1.rb +35 -0
  739. data/shoes/samples/simple-rubygems.rb +29 -0
  740. data/shoes/samples/simple-slide.rb +45 -0
  741. data/shoes/samples/simple-sphere.rb +28 -0
  742. data/shoes/samples/simple-timer.rb +13 -0
  743. data/shoes/samples/simple-video.rb +13 -0
  744. data/shoes/shoes +21 -0
  745. data/shoes/shoes.exe +0 -0
  746. data/shoes/shoes.exe.manifest +17 -0
  747. data/shoes/sqlite3.dll +0 -0
  748. data/shoes/static/Shoes.icns +0 -0
  749. data/shoes/static/Thumbs.db +0 -0
  750. data/shoes/static/app-icon.png +0 -0
  751. data/shoes/static/avatar.png +0 -0
  752. data/shoes/static/code_highlighter.js +188 -0
  753. data/shoes/static/code_highlighter_ruby.js +26 -0
  754. data/shoes/static/icon-debug.png +0 -0
  755. data/shoes/static/icon-error.png +0 -0
  756. data/shoes/static/icon-info.png +0 -0
  757. data/shoes/static/icon-warn.png +0 -0
  758. data/shoes/static/listbox_button1.png +0 -0
  759. data/shoes/static/listbox_button2.png +0 -0
  760. data/shoes/static/man-app.png +0 -0
  761. data/shoes/static/man-builds.png +0 -0
  762. data/shoes/static/man-editor-notepad.png +0 -0
  763. data/shoes/static/man-editor-osx.png +0 -0
  764. data/shoes/static/man-ele-background.png +0 -0
  765. data/shoes/static/man-ele-border.png +0 -0
  766. data/shoes/static/man-ele-button.png +0 -0
  767. data/shoes/static/man-ele-check.png +0 -0
  768. data/shoes/static/man-ele-editbox.png +0 -0
  769. data/shoes/static/man-ele-editline.png +0 -0
  770. data/shoes/static/man-ele-image.png +0 -0
  771. data/shoes/static/man-ele-listbox.png +0 -0
  772. data/shoes/static/man-ele-progress.png +0 -0
  773. data/shoes/static/man-ele-radio.png +0 -0
  774. data/shoes/static/man-ele-shape.png +0 -0
  775. data/shoes/static/man-ele-textblock.png +0 -0
  776. data/shoes/static/man-ele-video.png +0 -0
  777. data/shoes/static/man-intro-dmg.png +0 -0
  778. data/shoes/static/man-intro-exe.png +0 -0
  779. data/shoes/static/man-look-tiger.png +0 -0
  780. data/shoes/static/man-look-ubuntu.png +0 -0
  781. data/shoes/static/man-look-vista.png +0 -0
  782. data/shoes/static/man-run-osx.png +0 -0
  783. data/shoes/static/man-run-vista.png +0 -0
  784. data/shoes/static/man-run-xp.png +0 -0
  785. data/shoes/static/man-shot1.png +0 -0
  786. data/shoes/static/manual-en.txt +2783 -0
  787. data/shoes/static/manual-ja.txt +2780 -0
  788. data/shoes/static/manual.css +167 -0
  789. data/shoes/static/menu-corner1.png +0 -0
  790. data/shoes/static/menu-corner2.png +0 -0
  791. data/shoes/static/menu-gray.png +0 -0
  792. data/shoes/static/menu-left.png +0 -0
  793. data/shoes/static/menu-right.png +0 -0
  794. data/shoes/static/menu-top.png +0 -0
  795. data/shoes/static/shoes-dmg.jpg +0 -0
  796. data/shoes/static/shoes-icon-blue.png +0 -0
  797. data/shoes/static/shoes-icon.png +0 -0
  798. data/shoes/static/shoes-manual-apps.gif +0 -0
  799. data/shoes/static/stripe.png +0 -0
  800. data/shoes/static/stubs/blank.exe +0 -0
  801. data/shoes/static/stubs/blank.hfz +0 -0
  802. data/shoes/static/stubs/blank.run +375 -0
  803. data/shoes/static/stubs/cocoa-install +0 -0
  804. data/shoes/static/stubs/sh-install +48 -0
  805. data/shoes/static/tutor-back.png +0 -0
  806. data/shoes/zlib.dll +0 -0
  807. data/shoes/zlib1.dll +0 -0
  808. metadata +887 -0
@@ -0,0 +1,1082 @@
1
+ require 'cgi'
2
+ require 'rdoc'
3
+ require 'rdoc/options'
4
+ require 'rdoc/markup/to_html_crossref'
5
+ require 'rdoc/template'
6
+
7
+ module RDoc::Generator
8
+
9
+ ##
10
+ # Name of sub-directory that holds file descriptions
11
+
12
+ FILE_DIR = "files"
13
+
14
+ ##
15
+ # Name of sub-directory that holds class descriptions
16
+
17
+ CLASS_DIR = "classes"
18
+
19
+ ##
20
+ # Name of the RDoc CSS file
21
+
22
+ CSS_NAME = "rdoc-style.css"
23
+
24
+ ##
25
+ # Build a hash of all items that can be cross-referenced. This is used when
26
+ # we output required and included names: if the names appear in this hash,
27
+ # we can generate an html cross reference to the appropriate description.
28
+ # We also use this when parsing comment blocks: any decorated words matching
29
+ # an entry in this list are hyperlinked.
30
+
31
+ class AllReferences
32
+ @@refs = {}
33
+
34
+ def AllReferences::reset
35
+ @@refs = {}
36
+ end
37
+
38
+ def AllReferences.add(name, html_class)
39
+ @@refs[name] = html_class
40
+ end
41
+
42
+ def AllReferences.[](name)
43
+ @@refs[name]
44
+ end
45
+
46
+ def AllReferences.keys
47
+ @@refs.keys
48
+ end
49
+ end
50
+
51
+ ##
52
+ # Handle common markup tasks for the various Context subclasses
53
+
54
+ module MarkUp
55
+
56
+ ##
57
+ # Convert a string in markup format into HTML.
58
+
59
+ def markup(str, remove_para = false)
60
+ return '' unless str
61
+
62
+ # Convert leading comment markers to spaces, but only if all non-blank
63
+ # lines have them
64
+ if str =~ /^(?>\s*)[^\#]/ then
65
+ content = str
66
+ else
67
+ content = str.gsub(/^\s*(#+)/) { $1.tr '#', ' ' }
68
+ end
69
+
70
+ res = formatter.convert content
71
+
72
+ if remove_para then
73
+ res.sub!(/^<p>/, '')
74
+ res.sub!(/<\/p>$/, '')
75
+ end
76
+
77
+ res
78
+ end
79
+
80
+ ##
81
+ # Qualify a stylesheet URL; if if +css_name+ does not begin with '/' or
82
+ # 'http[s]://', prepend a prefix relative to +path+. Otherwise, return it
83
+ # unmodified.
84
+
85
+ def style_url(path, css_name=nil)
86
+ # $stderr.puts "style_url( #{path.inspect}, #{css_name.inspect} )"
87
+ css_name ||= CSS_NAME
88
+ if %r{^(https?:/)?/} =~ css_name
89
+ css_name
90
+ else
91
+ RDoc::Markup::ToHtml.gen_relative_url path, css_name
92
+ end
93
+ end
94
+
95
+ ##
96
+ # Build a webcvs URL with the given 'url' argument. URLs with a '%s' in them
97
+ # get the file's path sprintfed into them; otherwise they're just catenated
98
+ # together.
99
+
100
+ def cvs_url(url, full_path)
101
+ if /%s/ =~ url
102
+ return sprintf( url, full_path )
103
+ else
104
+ return url + full_path
105
+ end
106
+ end
107
+
108
+ end
109
+
110
+ ##
111
+ # A Context is built by the parser to represent a container: contexts hold
112
+ # classes, modules, methods, require lists and include lists. ClassModule
113
+ # and TopLevel are the context objects we process here
114
+
115
+ class Context
116
+
117
+ include MarkUp
118
+
119
+ attr_reader :context
120
+
121
+ ##
122
+ # Generate:
123
+ #
124
+ # * a list of RDoc::Generator::File objects for each TopLevel object
125
+ # * a list of RDoc::Generator::Class objects for each first level class or
126
+ # module in the TopLevel objects
127
+ # * a complete list of all hyperlinkable terms (file, class, module, and
128
+ # method names)
129
+
130
+ def self.build_indices(toplevels, options)
131
+ files = []
132
+ classes = []
133
+
134
+ toplevels.each do |toplevel|
135
+ files << RDoc::Generator::File.new(toplevel, options,
136
+ RDoc::Generator::FILE_DIR)
137
+ end
138
+
139
+ RDoc::TopLevel.all_classes_and_modules.each do |cls|
140
+ build_class_list(classes, options, cls, files[0],
141
+ RDoc::Generator::CLASS_DIR)
142
+ end
143
+
144
+ return files, classes
145
+ end
146
+
147
+ def self.build_class_list(classes, options, from, html_file, class_dir)
148
+ classes << RDoc::Generator::Class.new(from, html_file, class_dir, options)
149
+
150
+ from.each_classmodule do |mod|
151
+ build_class_list(classes, options, mod, html_file, class_dir)
152
+ end
153
+ end
154
+
155
+ def initialize(context, options)
156
+ @context = context
157
+ @options = options
158
+
159
+ # HACK ugly
160
+ @template = options.template_class
161
+ end
162
+
163
+ def formatter
164
+ @formatter ||= @options.formatter ||
165
+ RDoc::Markup::ToHtmlCrossref.new(path, self, @options.show_hash)
166
+ end
167
+
168
+ ##
169
+ # convenience method to build a hyperlink
170
+
171
+ def href(link, cls, name)
172
+ %{<a href="#{link}" class="#{cls}">#{name}</a>} #"
173
+ end
174
+
175
+ ##
176
+ # Returns a reference to outselves to be used as an href= the form depends
177
+ # on whether we're all in one file or in multiple files
178
+
179
+ def as_href(from_path)
180
+ if @options.all_one_file
181
+ "#" + path
182
+ else
183
+ RDoc::Markup::ToHtml.gen_relative_url from_path, path
184
+ end
185
+ end
186
+
187
+ ##
188
+ # Create a list of Method objects for each method in the corresponding
189
+ # context object. If the @options.show_all variable is set (corresponding
190
+ # to the <tt>--all</tt> option, we include all methods, otherwise just the
191
+ # public ones.
192
+
193
+ def collect_methods
194
+ list = @context.method_list
195
+
196
+ unless @options.show_all then
197
+ list = list.select do |m|
198
+ m.visibility == :public or
199
+ m.visibility == :protected or
200
+ m.force_documentation
201
+ end
202
+ end
203
+
204
+ @methods = list.collect do |m|
205
+ RDoc::Generator::Method.new m, self, @options
206
+ end
207
+ end
208
+
209
+ ##
210
+ # Build a summary list of all the methods in this context
211
+
212
+ def build_method_summary_list(path_prefix = "")
213
+ collect_methods unless @methods
214
+
215
+ @methods.sort.map do |meth|
216
+ {
217
+ "name" => CGI.escapeHTML(meth.name),
218
+ "aref" => "##{meth.aref}"
219
+ }
220
+ end
221
+ end
222
+
223
+ ##
224
+ # Build a list of aliases for which we couldn't find a
225
+ # corresponding method
226
+
227
+ def build_alias_summary_list(section)
228
+ @context.aliases.map do |al|
229
+ next unless al.section == section
230
+
231
+ res = {
232
+ 'old_name' => al.old_name,
233
+ 'new_name' => al.new_name,
234
+ }
235
+
236
+ if al.comment and not al.comment.empty? then
237
+ res['desc'] = markup al.comment, true
238
+ end
239
+
240
+ res
241
+ end.compact
242
+ end
243
+
244
+ ##
245
+ # Build a list of constants
246
+
247
+ def build_constants_summary_list(section)
248
+ @context.constants.map do |co|
249
+ next unless co.section == section
250
+
251
+ res = {
252
+ 'name' => co.name,
253
+ 'value' => CGI.escapeHTML(co.value)
254
+ }
255
+
256
+ if co.comment and not co.comment.empty? then
257
+ res['desc'] = markup co.comment, true
258
+ end
259
+
260
+ res
261
+ end.compact
262
+ end
263
+
264
+ def build_requires_list(context)
265
+ potentially_referenced_list(context.requires) {|fn| [fn + ".rb"] }
266
+ end
267
+
268
+ def build_include_list(context)
269
+ potentially_referenced_list(context.includes)
270
+ end
271
+
272
+ ##
273
+ # Build a list from an array of Context items. Look up each in the
274
+ # AllReferences hash: if we find a corresponding entry, we generate a
275
+ # hyperlink to it, otherwise just output the name. However, some names
276
+ # potentially need massaging. For example, you may require a Ruby file
277
+ # without the .rb extension, but the file names we know about may have it.
278
+ # To deal with this, we pass in a block which performs the massaging,
279
+ # returning an array of alternative names to match
280
+
281
+ def potentially_referenced_list(array)
282
+ res = []
283
+ array.each do |i|
284
+ ref = AllReferences[i.name]
285
+ # if !ref
286
+ # container = @context.parent
287
+ # while !ref && container
288
+ # name = container.name + "::" + i.name
289
+ # ref = AllReferences[name]
290
+ # container = container.parent
291
+ # end
292
+ # end
293
+
294
+ ref = @context.find_symbol(i.name)
295
+ ref = ref.viewer if ref
296
+
297
+ if !ref && block_given?
298
+ possibles = yield(i.name)
299
+ while !ref and !possibles.empty?
300
+ ref = AllReferences[possibles.shift]
301
+ end
302
+ end
303
+ h_name = CGI.escapeHTML(i.name)
304
+ if ref and ref.document_self
305
+ path = url(ref.path)
306
+ res << { "name" => h_name, "aref" => path }
307
+ else
308
+ res << { "name" => h_name }
309
+ end
310
+ end
311
+ res
312
+ end
313
+
314
+ ##
315
+ # Build an array of arrays of method details. The outer array has up
316
+ # to six entries, public, private, and protected for both class
317
+ # methods, the other for instance methods. The inner arrays contain
318
+ # a hash for each method
319
+
320
+ def build_method_detail_list(section)
321
+ outer = []
322
+
323
+ methods = @methods.sort.select do |m|
324
+ m.document_self and m.section == section
325
+ end
326
+
327
+ for singleton in [true, false]
328
+ for vis in [ :public, :protected, :private ]
329
+ res = []
330
+ methods.each do |m|
331
+ next unless m.visibility == vis and m.singleton == singleton
332
+
333
+ row = {}
334
+
335
+ if m.call_seq then
336
+ row["callseq"] = m.call_seq.gsub(/->/, '&rarr;')
337
+ else
338
+ row["name"] = CGI.escapeHTML(m.name)
339
+ row["params"] = m.params
340
+ end
341
+
342
+ desc = m.description.strip
343
+ row["m_desc"] = desc unless desc.empty?
344
+ row["aref"] = m.aref
345
+ row["visibility"] = m.visibility.to_s
346
+
347
+ alias_names = []
348
+
349
+ m.aliases.each do |other|
350
+ if other.viewer then # won't be if the alias is private
351
+ alias_names << {
352
+ 'name' => other.name,
353
+ 'aref' => other.viewer.as_href(path)
354
+ }
355
+ end
356
+ end
357
+
358
+ row["aka"] = alias_names unless alias_names.empty?
359
+
360
+ if @options.inline_source then
361
+ code = m.source_code
362
+ row["sourcecode"] = code if code
363
+ else
364
+ code = m.src_url
365
+ if code then
366
+ row["codeurl"] = code
367
+ row["imgurl"] = m.img_url
368
+ end
369
+ end
370
+
371
+ res << row
372
+ end
373
+
374
+ if res.size > 0 then
375
+ outer << {
376
+ "type" => vis.to_s.capitalize,
377
+ "category" => singleton ? "Class" : "Instance",
378
+ "methods" => res
379
+ }
380
+ end
381
+ end
382
+ end
383
+
384
+ outer
385
+ end
386
+
387
+ ##
388
+ # Build the structured list of classes and modules contained
389
+ # in this context.
390
+
391
+ def build_class_list(level, from, section, infile=nil)
392
+ prefix = '&nbsp;&nbsp;::' * level;
393
+ res = ''
394
+
395
+ from.modules.sort.each do |mod|
396
+ next unless mod.section == section
397
+ next if infile && !mod.defined_in?(infile)
398
+ if mod.document_self
399
+ res <<
400
+ prefix <<
401
+ 'Module ' <<
402
+ href(url(mod.viewer.path), 'link', mod.full_name) <<
403
+ "<br />\n" <<
404
+ build_class_list(level + 1, mod, section, infile)
405
+ end
406
+ end
407
+
408
+ from.classes.sort.each do |cls|
409
+ next unless cls.section == section
410
+ next if infile and not cls.defined_in?(infile)
411
+
412
+ if cls.document_self
413
+ res <<
414
+ prefix <<
415
+ 'Class ' <<
416
+ href(url(cls.viewer.path), 'link', cls.full_name) <<
417
+ "<br />\n" <<
418
+ build_class_list(level + 1, cls, section, infile)
419
+ end
420
+ end
421
+
422
+ res
423
+ end
424
+
425
+ def url(target)
426
+ RDoc::Markup::ToHtml.gen_relative_url path, target
427
+ end
428
+
429
+ def aref_to(target)
430
+ if @options.all_one_file
431
+ "#" + target
432
+ else
433
+ url(target)
434
+ end
435
+ end
436
+
437
+ def document_self
438
+ @context.document_self
439
+ end
440
+
441
+ def diagram_reference(diagram)
442
+ res = diagram.gsub(/((?:src|href)=")(.*?)"/) {
443
+ $1 + url($2) + '"'
444
+ }
445
+ res
446
+ end
447
+
448
+ ##
449
+ # Find a symbol in ourselves or our parent
450
+
451
+ def find_symbol(symbol, method=nil)
452
+ res = @context.find_symbol(symbol, method)
453
+ if res
454
+ res = res.viewer
455
+ end
456
+ res
457
+ end
458
+
459
+ ##
460
+ # create table of contents if we contain sections
461
+
462
+ def add_table_of_sections
463
+ toc = []
464
+ @context.sections.each do |section|
465
+ if section.title then
466
+ toc << {
467
+ 'secname' => section.title,
468
+ 'href' => section.sequence
469
+ }
470
+ end
471
+ end
472
+
473
+ @values['toc'] = toc unless toc.empty?
474
+ end
475
+
476
+ end
477
+
478
+ ##
479
+ # Wrap a ClassModule context
480
+
481
+ class Class < Context
482
+
483
+ attr_reader :methods
484
+ attr_reader :path
485
+ attr_reader :values
486
+
487
+ def initialize(context, html_file, prefix, options)
488
+ super context, options
489
+
490
+ @html_file = html_file
491
+ @html_class = self
492
+ @is_module = context.module?
493
+ @values = {}
494
+
495
+ context.viewer = self
496
+
497
+ if options.all_one_file
498
+ @path = context.full_name
499
+ else
500
+ @path = http_url(context.full_name, prefix)
501
+ end
502
+
503
+ collect_methods
504
+
505
+ AllReferences.add(name, self)
506
+ end
507
+
508
+ ##
509
+ # Returns the relative file name to store this class in, which is also its
510
+ # url
511
+
512
+ def http_url(full_name, prefix)
513
+ path = full_name.dup
514
+
515
+ path.gsub!(/<<\s*(\w*)/, 'from-\1') if path['<<']
516
+
517
+ ::File.join(prefix, path.split("::")) + ".html"
518
+ end
519
+
520
+ def name
521
+ @context.full_name
522
+ end
523
+
524
+ def parent_name
525
+ @context.parent.full_name
526
+ end
527
+
528
+ def index_name
529
+ name
530
+ end
531
+
532
+ def write_on(f, file_list, class_list, method_list, overrides = {})
533
+ value_hash
534
+
535
+ @values['file_list'] = file_list
536
+ @values['class_list'] = class_list
537
+ @values['method_list'] = method_list
538
+
539
+ @values.update overrides
540
+
541
+ template = RDoc::TemplatePage.new(@template::BODY,
542
+ @template::CLASS_PAGE,
543
+ @template::METHOD_LIST)
544
+
545
+ template.write_html_on(f, @values)
546
+ end
547
+
548
+ def value_hash
549
+ class_attribute_values
550
+ add_table_of_sections
551
+
552
+ @values["charset"] = @options.charset
553
+ @values["style_url"] = style_url(path, @options.css)
554
+
555
+ d = markup(@context.comment)
556
+ @values["description"] = d unless d.empty?
557
+
558
+ ml = build_method_summary_list @path
559
+ @values["methods"] = ml unless ml.empty?
560
+
561
+ il = build_include_list @context
562
+ @values["includes"] = il unless il.empty?
563
+
564
+ @values["sections"] = @context.sections.map do |section|
565
+ secdata = {
566
+ "sectitle" => section.title,
567
+ "secsequence" => section.sequence,
568
+ "seccomment" => markup(section.comment),
569
+ }
570
+
571
+ al = build_alias_summary_list section
572
+ secdata["aliases"] = al unless al.empty?
573
+
574
+ co = build_constants_summary_list section
575
+ secdata["constants"] = co unless co.empty?
576
+
577
+ al = build_attribute_list section
578
+ secdata["attributes"] = al unless al.empty?
579
+
580
+ cl = build_class_list 0, @context, section
581
+ secdata["classlist"] = cl unless cl.empty?
582
+
583
+ mdl = build_method_detail_list section
584
+ secdata["method_list"] = mdl unless mdl.empty?
585
+
586
+ secdata
587
+ end
588
+
589
+ @values
590
+ end
591
+
592
+ def build_attribute_list(section)
593
+ @context.attributes.sort.map do |att|
594
+ next unless att.section == section
595
+
596
+ if att.visibility == :public or att.visibility == :protected or
597
+ @options.show_all then
598
+
599
+ entry = {
600
+ "name" => CGI.escapeHTML(att.name),
601
+ "rw" => att.rw,
602
+ "a_desc" => markup(att.comment, true)
603
+ }
604
+
605
+ unless att.visibility == :public or att.visibility == :protected then
606
+ entry["rw"] << "-"
607
+ end
608
+
609
+ entry
610
+ end
611
+ end.compact
612
+ end
613
+
614
+ def class_attribute_values
615
+ h_name = CGI.escapeHTML(name)
616
+
617
+ @values["href"] = @path
618
+ @values["classmod"] = @is_module ? "Module" : "Class"
619
+ @values["title"] = "#{@values['classmod']}: #{h_name} [#{@options.title}]"
620
+
621
+ c = @context
622
+ c = c.parent while c and not c.diagram
623
+
624
+ if c and c.diagram then
625
+ @values["diagram"] = diagram_reference(c.diagram)
626
+ end
627
+
628
+ @values["full_name"] = h_name
629
+
630
+ if not @context.module? and @context.superclass then
631
+ parent_class = @context.superclass
632
+ @values["parent"] = CGI.escapeHTML(parent_class)
633
+
634
+ if parent_name
635
+ lookup = parent_name + "::" + parent_class
636
+ else
637
+ lookup = parent_class
638
+ end
639
+
640
+ parent_url = AllReferences[lookup] || AllReferences[parent_class]
641
+
642
+ if parent_url and parent_url.document_self
643
+ @values["par_url"] = aref_to(parent_url.path)
644
+ end
645
+ end
646
+
647
+ files = []
648
+ @context.in_files.each do |f|
649
+ res = {}
650
+ full_path = CGI.escapeHTML(f.file_absolute_name)
651
+
652
+ res["full_path"] = full_path
653
+ res["full_path_url"] = aref_to(f.viewer.path) if f.document_self
654
+
655
+ if @options.webcvs
656
+ res["cvsurl"] = cvs_url( @options.webcvs, full_path )
657
+ end
658
+
659
+ files << res
660
+ end
661
+
662
+ @values['infiles'] = files
663
+ end
664
+
665
+ def <=>(other)
666
+ self.name <=> other.name
667
+ end
668
+
669
+ end
670
+
671
+ ##
672
+ # Handles the mapping of a file's information to HTML. In reality, a file
673
+ # corresponds to a +TopLevel+ object, containing modules, classes, and
674
+ # top-level methods. In theory it _could_ contain attributes and aliases,
675
+ # but we ignore these for now.
676
+
677
+ class File < Context
678
+
679
+ attr_reader :path
680
+ attr_reader :name
681
+ attr_reader :values
682
+
683
+ def initialize(context, options, file_dir)
684
+ super context, options
685
+
686
+ @values = {}
687
+
688
+ if options.all_one_file
689
+ @path = filename_to_label
690
+ else
691
+ @path = http_url(file_dir)
692
+ end
693
+
694
+ @name = @context.file_relative_name
695
+
696
+ collect_methods
697
+ AllReferences.add(name, self)
698
+ context.viewer = self
699
+ end
700
+
701
+ def http_url(file_dir)
702
+ ::File.join file_dir, "#{@context.file_relative_name.tr '.', '_'}.html"
703
+ end
704
+
705
+ def filename_to_label
706
+ @context.file_relative_name.gsub(/%|\/|\?|\#/) do
707
+ ('%%%x' % $&[0]).unpack('C')
708
+ end
709
+ end
710
+
711
+ def index_name
712
+ name
713
+ end
714
+
715
+ def parent_name
716
+ nil
717
+ end
718
+
719
+ def value_hash
720
+ file_attribute_values
721
+ add_table_of_sections
722
+
723
+ @values["charset"] = @options.charset
724
+ @values["href"] = path
725
+ @values["style_url"] = style_url(path, @options.css)
726
+
727
+ if @context.comment
728
+ d = markup(@context.comment)
729
+ @values["description"] = d if d.size > 0
730
+ end
731
+
732
+ ml = build_method_summary_list
733
+ @values["methods"] = ml unless ml.empty?
734
+
735
+ il = build_include_list(@context)
736
+ @values["includes"] = il unless il.empty?
737
+
738
+ rl = build_requires_list(@context)
739
+ @values["requires"] = rl unless rl.empty?
740
+
741
+ if @options.promiscuous
742
+ file_context = nil
743
+ else
744
+ file_context = @context
745
+ end
746
+
747
+
748
+ @values["sections"] = @context.sections.map do |section|
749
+
750
+ secdata = {
751
+ "sectitle" => section.title,
752
+ "secsequence" => section.sequence,
753
+ "seccomment" => markup(section.comment)
754
+ }
755
+
756
+ cl = build_class_list(0, @context, section, file_context)
757
+ secdata["classlist"] = cl unless cl.empty?
758
+
759
+ mdl = build_method_detail_list(section)
760
+ secdata["method_list"] = mdl unless mdl.empty?
761
+
762
+ al = build_alias_summary_list(section)
763
+ secdata["aliases"] = al unless al.empty?
764
+
765
+ co = build_constants_summary_list(section)
766
+ secdata["constants"] = co unless co.empty?
767
+
768
+ secdata
769
+ end
770
+
771
+ @values
772
+ end
773
+
774
+ def write_on(f, file_list, class_list, method_list, overrides = {})
775
+ value_hash
776
+
777
+ @values['file_list'] = file_list
778
+ @values['class_list'] = class_list
779
+ @values['method_list'] = method_list
780
+
781
+ @values.update overrides
782
+
783
+ template = RDoc::TemplatePage.new(@template::BODY,
784
+ @template::FILE_PAGE,
785
+ @template::METHOD_LIST)
786
+
787
+ template.write_html_on(f, @values)
788
+ end
789
+
790
+ def file_attribute_values
791
+ full_path = @context.file_absolute_name
792
+ short_name = ::File.basename full_path
793
+
794
+ @values["title"] = CGI.escapeHTML("File: #{short_name} [#{@options.title}]")
795
+
796
+ if @context.diagram then
797
+ @values["diagram"] = diagram_reference(@context.diagram)
798
+ end
799
+
800
+ @values["short_name"] = CGI.escapeHTML(short_name)
801
+ @values["full_path"] = CGI.escapeHTML(full_path)
802
+ @values["dtm_modified"] = @context.file_stat.mtime.to_s
803
+
804
+ if @options.webcvs then
805
+ @values["cvsurl"] = cvs_url @options.webcvs, @values["full_path"]
806
+ end
807
+ end
808
+
809
+ def <=>(other)
810
+ self.name <=> other.name
811
+ end
812
+
813
+ end
814
+
815
+ class Method
816
+
817
+ include MarkUp
818
+
819
+ attr_reader :context
820
+ attr_reader :src_url
821
+ attr_reader :img_url
822
+ attr_reader :source_code
823
+
824
+ def self.all_methods
825
+ @@all_methods
826
+ end
827
+
828
+ def self.reset
829
+ @@all_methods = []
830
+ @@seq = "M000000"
831
+ end
832
+
833
+ # Initialize the class variables.
834
+ self.reset
835
+
836
+ def initialize(context, html_class, options)
837
+ # TODO: rethink the class hierarchy here...
838
+ @context = context
839
+ @html_class = html_class
840
+ @options = options
841
+
842
+ @@seq = @@seq.succ
843
+ @seq = @@seq
844
+
845
+ # HACK ugly
846
+ @template = options.template_class
847
+
848
+ @@all_methods << self
849
+
850
+ context.viewer = self
851
+
852
+ if (ts = @context.token_stream)
853
+ @source_code = markup_code(ts)
854
+ unless @options.inline_source
855
+ @src_url = create_source_code_file(@source_code)
856
+ @img_url = RDoc::Markup::ToHtml.gen_relative_url path, 'source.png'
857
+ end
858
+ end
859
+
860
+ AllReferences.add(name, self)
861
+ end
862
+
863
+ ##
864
+ # Returns a reference to outselves to be used as an href= the form depends
865
+ # on whether we're all in one file or in multiple files
866
+
867
+ def as_href(from_path)
868
+ if @options.all_one_file
869
+ "#" + path
870
+ else
871
+ RDoc::Markup::ToHtml.gen_relative_url from_path, path
872
+ end
873
+ end
874
+
875
+ def formatter
876
+ @formatter ||= @options.formatter ||
877
+ RDoc::Markup::ToHtmlCrossref.new(path, self, @options.show_hash)
878
+ end
879
+
880
+ def inspect
881
+ alias_for = if @context.is_alias_for then
882
+ " (alias_for #{@context.is_alias_for})"
883
+ else
884
+ nil
885
+ end
886
+
887
+ "#<%s:0x%x %s%s%s (%s)%s>" % [
888
+ self.class, object_id,
889
+ @context.parent.name,
890
+ @context.singleton ? '::' : '#',
891
+ name,
892
+ @context.visibility,
893
+ alias_for
894
+ ]
895
+ end
896
+
897
+ def name
898
+ @context.name
899
+ end
900
+
901
+ def section
902
+ @context.section
903
+ end
904
+
905
+ def index_name
906
+ "#{@context.name} (#{@html_class.name})"
907
+ end
908
+
909
+ def parent_name
910
+ if @context.parent.parent
911
+ @context.parent.parent.full_name
912
+ else
913
+ nil
914
+ end
915
+ end
916
+
917
+ def aref
918
+ @seq
919
+ end
920
+
921
+ def path
922
+ if @options.all_one_file
923
+ aref
924
+ else
925
+ @html_class.path + "#" + aref
926
+ end
927
+ end
928
+
929
+ def description
930
+ markup(@context.comment)
931
+ end
932
+
933
+ def visibility
934
+ @context.visibility
935
+ end
936
+
937
+ def singleton
938
+ @context.singleton
939
+ end
940
+
941
+ def call_seq
942
+ cs = @context.call_seq
943
+ if cs
944
+ cs.gsub(/\n/, "<br />\n")
945
+ else
946
+ nil
947
+ end
948
+ end
949
+
950
+ def params
951
+ # params coming from a call-seq in 'C' will start with the
952
+ # method name
953
+ params = @context.params
954
+ if params !~ /^\w/
955
+ params = @context.params.gsub(/\s*\#.*/, '')
956
+ params = params.tr("\n", " ").squeeze(" ")
957
+ params = "(" + params + ")" unless params[0] == ?(
958
+
959
+ if (block = @context.block_params)
960
+ # If this method has explicit block parameters, remove any
961
+ # explicit &block
962
+
963
+ params.sub!(/,?\s*&\w+/, '')
964
+
965
+ block.gsub!(/\s*\#.*/, '')
966
+ block = block.tr("\n", " ").squeeze(" ")
967
+ if block[0] == ?(
968
+ block.sub!(/^\(/, '').sub!(/\)/, '')
969
+ end
970
+ params << " {|#{block.strip}| ...}"
971
+ end
972
+ end
973
+ CGI.escapeHTML(params)
974
+ end
975
+
976
+ def create_source_code_file(code_body)
977
+ meth_path = @html_class.path.sub(/\.html$/, '.src')
978
+ FileUtils.mkdir_p(meth_path)
979
+ file_path = ::File.join meth_path, "#{@seq}.html"
980
+
981
+ template = RDoc::TemplatePage.new(@template::SRC_PAGE)
982
+
983
+ open file_path, 'w' do |f|
984
+ values = {
985
+ 'title' => CGI.escapeHTML(index_name),
986
+ 'code' => code_body,
987
+ 'style_url' => style_url(file_path, @options.css),
988
+ 'charset' => @options.charset
989
+ }
990
+ template.write_html_on(f, values)
991
+ end
992
+
993
+ RDoc::Markup::ToHtml.gen_relative_url path, file_path
994
+ end
995
+
996
+ def <=>(other)
997
+ @context <=> other.context
998
+ end
999
+
1000
+ ##
1001
+ # Given a sequence of source tokens, mark up the source code
1002
+ # to make it look purty.
1003
+
1004
+ def markup_code(tokens)
1005
+ src = ""
1006
+ tokens.each do |t|
1007
+ next unless t
1008
+ # style = STYLE_MAP[t.class]
1009
+ style = case t
1010
+ when RDoc::RubyToken::TkCONSTANT then "ruby-constant"
1011
+ when RDoc::RubyToken::TkKW then "ruby-keyword kw"
1012
+ when RDoc::RubyToken::TkIVAR then "ruby-ivar"
1013
+ when RDoc::RubyToken::TkOp then "ruby-operator"
1014
+ when RDoc::RubyToken::TkId then "ruby-identifier"
1015
+ when RDoc::RubyToken::TkNode then "ruby-node"
1016
+ when RDoc::RubyToken::TkCOMMENT then "ruby-comment cmt"
1017
+ when RDoc::RubyToken::TkREGEXP then "ruby-regexp re"
1018
+ when RDoc::RubyToken::TkSTRING then "ruby-value str"
1019
+ when RDoc::RubyToken::TkVal then "ruby-value"
1020
+ else
1021
+ nil
1022
+ end
1023
+
1024
+ text = CGI.escapeHTML(t.text)
1025
+
1026
+ if style
1027
+ src << "<span class=\"#{style}\">#{text}</span>"
1028
+ else
1029
+ src << text
1030
+ end
1031
+ end
1032
+
1033
+ add_line_numbers(src) if @options.include_line_numbers
1034
+ src
1035
+ end
1036
+
1037
+ ##
1038
+ # We rely on the fact that the first line of a source code listing has
1039
+ # # File xxxxx, line dddd
1040
+
1041
+ def add_line_numbers(src)
1042
+ if src =~ /\A.*, line (\d+)/
1043
+ first = $1.to_i - 1
1044
+ last = first + src.count("\n")
1045
+ size = last.to_s.length
1046
+ fmt = "%#{size}d: "
1047
+ is_first_line = true
1048
+ line_num = first
1049
+ src.gsub!(/^/) do
1050
+ if is_first_line then
1051
+ is_first_line = false
1052
+ res = " " * (size+2)
1053
+ else
1054
+ res = sprintf(fmt, line_num)
1055
+ end
1056
+
1057
+ line_num += 1
1058
+ res
1059
+ end
1060
+ end
1061
+ end
1062
+
1063
+ def document_self
1064
+ @context.document_self
1065
+ end
1066
+
1067
+ def aliases
1068
+ @context.aliases
1069
+ end
1070
+
1071
+ def find_symbol(symbol, method=nil)
1072
+ res = @context.parent.find_symbol(symbol, method)
1073
+ if res
1074
+ res = res.viewer
1075
+ end
1076
+ res
1077
+ end
1078
+
1079
+ end
1080
+
1081
+ end
1082
+