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,888 @@
1
+ # -*- ruby -*-
2
+ #--
3
+ # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
4
+ # All rights reserved.
5
+ # See LICENSE.txt for permissions.
6
+ #++
7
+
8
+ require 'rubygems/rubygems_version'
9
+ require 'rubygems/defaults'
10
+ require 'thread'
11
+
12
+ module Gem
13
+ class LoadError < ::LoadError
14
+ attr_accessor :name, :version_requirement
15
+ end
16
+ end
17
+
18
+ module Kernel
19
+
20
+ ##
21
+ # Use Kernel#gem to activate a specific version of +gem_name+.
22
+ #
23
+ # +version_requirements+ is a list of version requirements that the
24
+ # specified gem must match, most commonly "= example.version.number". See
25
+ # Gem::Requirement for how to specify a version requirement.
26
+ #
27
+ # If you will be activating the latest version of a gem, there is no need to
28
+ # call Kernel#gem, Kernel#require will do the right thing for you.
29
+ #
30
+ # Kernel#gem returns true if the gem was activated, otherwise false. If the
31
+ # gem could not be found, didn't match the version requirements, or a
32
+ # different version was already activated, an exception will be raised.
33
+ #
34
+ # Kernel#gem should be called *before* any require statements (otherwise
35
+ # RubyGems may load a conflicting library version).
36
+ #
37
+ # In older RubyGems versions, the environment variable GEM_SKIP could be
38
+ # used to skip activation of specified gems, for example to test out changes
39
+ # that haven't been installed yet. Now RubyGems defers to -I and the
40
+ # RUBYLIB environment variable to skip activation of a gem.
41
+ #
42
+ # Example:
43
+ #
44
+ # GEM_SKIP=libA:libB ruby -I../libA -I../libB ./mycode.rb
45
+
46
+ def gem(gem_name, *version_requirements) # :doc:
47
+ skip_list = (ENV['GEM_SKIP'] || "").split(/:/)
48
+ raise Gem::LoadError, "skipping #{gem_name}" if skip_list.include? gem_name
49
+ Gem.activate(gem_name, *version_requirements)
50
+ end
51
+
52
+ private :gem
53
+
54
+ end
55
+
56
+ ##
57
+ # Main module to hold all RubyGem classes/modules.
58
+
59
+ module Gem
60
+
61
+ ConfigMap = {} unless defined?(ConfigMap)
62
+ require 'rbconfig'
63
+ RbConfig = Config unless defined? ::RbConfig
64
+
65
+ ConfigMap.merge!(
66
+ :BASERUBY => RbConfig::CONFIG["BASERUBY"],
67
+ :EXEEXT => RbConfig::CONFIG["EXEEXT"],
68
+ :RUBY_INSTALL_NAME => RbConfig::CONFIG["RUBY_INSTALL_NAME"],
69
+ :RUBY_SO_NAME => RbConfig::CONFIG["RUBY_SO_NAME"],
70
+ :arch => RbConfig::CONFIG["arch"],
71
+ :bindir => RbConfig::CONFIG["bindir"],
72
+ :datadir => RbConfig::CONFIG["datadir"],
73
+ :libdir => RbConfig::CONFIG["libdir"],
74
+ :ruby_install_name => RbConfig::CONFIG["ruby_install_name"],
75
+ :ruby_version => RbConfig::CONFIG["ruby_version"],
76
+ :sitedir => RbConfig::CONFIG["sitedir"],
77
+ :sitelibdir => RbConfig::CONFIG["sitelibdir"],
78
+ :vendordir => RbConfig::CONFIG["vendordir"] ,
79
+ :vendorlibdir => RbConfig::CONFIG["vendorlibdir"]
80
+ )
81
+
82
+ DIRECTORIES = %w[cache doc gems specifications] unless defined?(DIRECTORIES)
83
+
84
+ MUTEX = Mutex.new
85
+
86
+ RubyGemsPackageVersion = RubyGemsVersion
87
+
88
+ ##
89
+ # An Array of Regexps that match windows ruby platforms.
90
+
91
+ WIN_PATTERNS = [
92
+ /bccwin/i,
93
+ /cygwin/i,
94
+ /djgpp/i,
95
+ /mingw/i,
96
+ /mswin/i,
97
+ /wince/i,
98
+ ]
99
+
100
+ @@source_index = nil
101
+ @@win_platform = nil
102
+
103
+ @configuration = nil
104
+ @loaded_specs = {}
105
+ @platforms = []
106
+ @ruby = nil
107
+ @sources = []
108
+
109
+ @post_install_hooks ||= []
110
+ @post_uninstall_hooks ||= []
111
+ @pre_uninstall_hooks ||= []
112
+ @pre_install_hooks ||= []
113
+
114
+ ##
115
+ # Activates an installed gem matching +gem+. The gem must satisfy
116
+ # +version_requirements+.
117
+ #
118
+ # Returns true if the gem is activated, false if it is already
119
+ # loaded, or an exception otherwise.
120
+ #
121
+ # Gem#activate adds the library paths in +gem+ to $LOAD_PATH. Before a Gem
122
+ # is activated its required Gems are activated. If the version information
123
+ # is omitted, the highest version Gem of the supplied name is loaded. If a
124
+ # Gem is not found that meets the version requirements or a required Gem is
125
+ # not found, a Gem::LoadError is raised.
126
+ #
127
+ # More information on version requirements can be found in the
128
+ # Gem::Requirement and Gem::Version documentation.
129
+
130
+ def self.activate(gem, *version_requirements)
131
+ if version_requirements.empty? then
132
+ version_requirements = Gem::Requirement.default
133
+ end
134
+
135
+ unless gem.respond_to?(:name) and
136
+ gem.respond_to?(:version_requirements) then
137
+ gem = Gem::Dependency.new(gem, version_requirements)
138
+ end
139
+
140
+ matches = Gem.source_index.find_name(gem.name, gem.version_requirements)
141
+ report_activate_error(gem) if matches.empty?
142
+
143
+ if @loaded_specs[gem.name] then
144
+ # This gem is already loaded. If the currently loaded gem is not in the
145
+ # list of candidate gems, then we have a version conflict.
146
+ existing_spec = @loaded_specs[gem.name]
147
+
148
+ unless matches.any? { |spec| spec.version == existing_spec.version } then
149
+ raise Gem::Exception,
150
+ "can't activate #{gem}, already activated #{existing_spec.full_name}"
151
+ end
152
+
153
+ return false
154
+ end
155
+
156
+ # new load
157
+ spec = matches.last
158
+ return false if spec.loaded?
159
+
160
+ spec.loaded = true
161
+ @loaded_specs[spec.name] = spec
162
+
163
+ # Load dependent gems first
164
+ spec.runtime_dependencies.each do |dep_gem|
165
+ activate dep_gem
166
+ end
167
+
168
+ # bin directory must come before library directories
169
+ spec.require_paths.unshift spec.bindir if spec.bindir
170
+
171
+ require_paths = spec.require_paths.map do |path|
172
+ File.join spec.full_gem_path, path
173
+ end
174
+
175
+ sitelibdir = ConfigMap[:sitelibdir]
176
+
177
+ # gem directories must come after -I and ENV['RUBYLIB']
178
+ insert_index = load_path_insert_index
179
+
180
+ if insert_index then
181
+ # gem directories must come after -I and ENV['RUBYLIB']
182
+ $LOAD_PATH.insert(insert_index, *require_paths)
183
+ else
184
+ # we are probably testing in core, -I and RUBYLIB don't apply
185
+ $LOAD_PATH.unshift(*require_paths)
186
+ end
187
+
188
+ return true
189
+ end
190
+
191
+ ##
192
+ # An Array of all possible load paths for all versions of all gems in the
193
+ # Gem installation.
194
+
195
+ def self.all_load_paths
196
+ result = []
197
+
198
+ Gem.path.each do |gemdir|
199
+ each_load_path all_partials(gemdir) do |load_path|
200
+ result << load_path
201
+ end
202
+ end
203
+
204
+ result
205
+ end
206
+
207
+ ##
208
+ # Return all the partial paths in +gemdir+.
209
+
210
+ def self.all_partials(gemdir)
211
+ Dir[File.join(gemdir, 'gems/*')]
212
+ end
213
+
214
+ private_class_method :all_partials
215
+
216
+ ##
217
+ # See if a given gem is available.
218
+
219
+ def self.available?(gem, *requirements)
220
+ requirements = Gem::Requirement.default if requirements.empty?
221
+
222
+ unless gem.respond_to?(:name) and
223
+ gem.respond_to?(:version_requirements) then
224
+ gem = Gem::Dependency.new gem, requirements
225
+ end
226
+
227
+ !Gem.source_index.search(gem).empty?
228
+ end
229
+
230
+ ##
231
+ # The mode needed to read a file as straight binary.
232
+
233
+ def self.binary_mode
234
+ @binary_mode ||= RUBY_VERSION > '1.9' ? 'rb:ascii-8bit' : 'rb'
235
+ end
236
+
237
+ ##
238
+ # The path where gem executables are to be installed.
239
+
240
+ def self.bindir(install_dir=Gem.dir)
241
+ return File.join(install_dir, 'bin') unless
242
+ install_dir.to_s == Gem.default_dir
243
+ Gem.default_bindir
244
+ end
245
+
246
+ ##
247
+ # Reset the +dir+ and +path+ values. The next time +dir+ or +path+
248
+ # is requested, the values will be calculated from scratch. This is
249
+ # mainly used by the unit tests to provide test isolation.
250
+
251
+ def self.clear_paths
252
+ @gem_home = nil
253
+ @gem_path = nil
254
+ @user_home = nil
255
+
256
+ @@source_index = nil
257
+
258
+ MUTEX.synchronize do
259
+ @searcher = nil
260
+ end
261
+ end
262
+
263
+ ##
264
+ # The path to standard location of the user's .gemrc file.
265
+
266
+ def self.config_file
267
+ File.join Gem.user_home, '.gemrc'
268
+ end
269
+
270
+ ##
271
+ # The standard configuration object for gems.
272
+
273
+ def self.configuration
274
+ @configuration ||= Gem::ConfigFile.new []
275
+ end
276
+
277
+ ##
278
+ # Use the given configuration object (which implements the ConfigFile
279
+ # protocol) as the standard configuration object.
280
+
281
+ def self.configuration=(config)
282
+ @configuration = config
283
+ end
284
+
285
+ ##
286
+ # The path the the data directory specified by the gem name. If the
287
+ # package is not available as a gem, return nil.
288
+
289
+ def self.datadir(gem_name)
290
+ spec = @loaded_specs[gem_name]
291
+ return nil if spec.nil?
292
+ File.join(spec.full_gem_path, 'data', gem_name)
293
+ end
294
+
295
+ ##
296
+ # A Zlib::Deflate.deflate wrapper
297
+
298
+ def self.deflate(data)
299
+ require 'zlib'
300
+ Zlib::Deflate.deflate data
301
+ end
302
+
303
+ ##
304
+ # The path where gems are to be installed.
305
+
306
+ def self.dir
307
+ @gem_home ||= nil
308
+ set_home(ENV['GEM_HOME'] || Gem.configuration.home || default_dir) unless @gem_home
309
+ @gem_home
310
+ end
311
+
312
+ ##
313
+ # Expand each partial gem path with each of the required paths specified
314
+ # in the Gem spec. Each expanded path is yielded.
315
+
316
+ def self.each_load_path(partials)
317
+ partials.each do |gp|
318
+ base = File.basename(gp)
319
+ specfn = File.join(dir, "specifications", base + ".gemspec")
320
+ if File.exist?(specfn)
321
+ spec = eval(File.read(specfn))
322
+ spec.require_paths.each do |rp|
323
+ yield(File.join(gp, rp))
324
+ end
325
+ else
326
+ filename = File.join(gp, 'lib')
327
+ yield(filename) if File.exist?(filename)
328
+ end
329
+ end
330
+ end
331
+
332
+ private_class_method :each_load_path
333
+
334
+ ##
335
+ # Quietly ensure the named Gem directory contains all the proper
336
+ # subdirectories. If we can't create a directory due to a permission
337
+ # problem, then we will silently continue.
338
+
339
+ def self.ensure_gem_subdirectories(gemdir)
340
+ require 'fileutils'
341
+
342
+ Gem::DIRECTORIES.each do |filename|
343
+ fn = File.join gemdir, filename
344
+ FileUtils.mkdir_p fn rescue nil unless File.exist? fn
345
+ end
346
+ end
347
+
348
+ ##
349
+ # Returns a list of paths matching +file+ that can be used by a gem to pick
350
+ # up features from other gems. For example:
351
+ #
352
+ # Gem.find_files('rdoc/discover').each do |path| load path end
353
+ #
354
+ # find_files does not search $LOAD_PATH for files, only gems.
355
+
356
+ def self.find_files(path)
357
+ specs = searcher.find_all path
358
+
359
+ specs.map do |spec|
360
+ searcher.matching_files spec, path
361
+ end.flatten
362
+ end
363
+
364
+ ##
365
+ # Finds the user's home directory.
366
+ #--
367
+ # Some comments from the ruby-talk list regarding finding the home
368
+ # directory:
369
+ #
370
+ # I have HOME, USERPROFILE and HOMEDRIVE + HOMEPATH. Ruby seems
371
+ # to be depending on HOME in those code samples. I propose that
372
+ # it should fallback to USERPROFILE and HOMEDRIVE + HOMEPATH (at
373
+ # least on Win32).
374
+
375
+ def self.find_home
376
+ ['HOME', 'USERPROFILE'].each do |homekey|
377
+ return ENV[homekey] if ENV[homekey]
378
+ end
379
+
380
+ if ENV['HOMEDRIVE'] && ENV['HOMEPATH'] then
381
+ return "#{ENV['HOMEDRIVE']}#{ENV['HOMEPATH']}"
382
+ end
383
+
384
+ begin
385
+ File.expand_path("~")
386
+ rescue
387
+ if File::ALT_SEPARATOR then
388
+ "C:/"
389
+ else
390
+ "/"
391
+ end
392
+ end
393
+ end
394
+
395
+ private_class_method :find_home
396
+
397
+ ##
398
+ # Zlib::GzipReader wrapper that unzips +data+.
399
+
400
+ def self.gunzip(data)
401
+ require 'stringio'
402
+ require 'zlib'
403
+ data = StringIO.new data
404
+
405
+ Zlib::GzipReader.new(data).read
406
+ end
407
+
408
+ ##
409
+ # Zlib::GzipWriter wrapper that zips +data+.
410
+
411
+ def self.gzip(data)
412
+ require 'stringio'
413
+ require 'zlib'
414
+ zipped = StringIO.new
415
+
416
+ Zlib::GzipWriter.wrap zipped do |io| io.write data end
417
+
418
+ zipped.string
419
+ end
420
+
421
+ ##
422
+ # A Zlib::Inflate#inflate wrapper
423
+
424
+ def self.inflate(data)
425
+ require 'zlib'
426
+ Zlib::Inflate.inflate data
427
+ end
428
+
429
+ ##
430
+ # Return a list of all possible load paths for the latest version for all
431
+ # gems in the Gem installation.
432
+
433
+ def self.latest_load_paths
434
+ result = []
435
+
436
+ Gem.path.each do |gemdir|
437
+ each_load_path(latest_partials(gemdir)) do |load_path|
438
+ result << load_path
439
+ end
440
+ end
441
+
442
+ result
443
+ end
444
+
445
+ ##
446
+ # Return only the latest partial paths in the given +gemdir+.
447
+
448
+ def self.latest_partials(gemdir)
449
+ latest = {}
450
+ all_partials(gemdir).each do |gp|
451
+ base = File.basename(gp)
452
+ if base =~ /(.*)-((\d+\.)*\d+)/ then
453
+ name, version = $1, $2
454
+ ver = Gem::Version.new(version)
455
+ if latest[name].nil? || ver > latest[name][0]
456
+ latest[name] = [ver, gp]
457
+ end
458
+ end
459
+ end
460
+ latest.collect { |k,v| v[1] }
461
+ end
462
+
463
+ private_class_method :latest_partials
464
+
465
+ ##
466
+ # The index to insert activated gem paths into the $LOAD_PATH.
467
+ #
468
+ # Defaults to the site lib directory unless gem_prelude.rb has loaded paths,
469
+ # then it inserts the activated gem's paths before the gem_prelude.rb paths
470
+ # so you can override the gem_prelude.rb default $LOAD_PATH paths.
471
+
472
+ def self.load_path_insert_index
473
+ index = $LOAD_PATH.index ConfigMap[:sitelibdir]
474
+
475
+ $LOAD_PATH.each_with_index do |path, i|
476
+ if path.instance_variables.include?(:@gem_prelude_index) or
477
+ path.instance_variables.include?('@gem_prelude_index') then
478
+ index = i
479
+ break
480
+ end
481
+ end
482
+
483
+ index
484
+ end
485
+
486
+ ##
487
+ # The file name and line number of the caller of the caller of this method.
488
+
489
+ def self.location_of_caller
490
+ caller[1] =~ /(.*?):(\d+)$/i
491
+ file = $1
492
+ lineno = $2.to_i
493
+
494
+ [file, lineno]
495
+ end
496
+
497
+ ##
498
+ # manage_gems is useless and deprecated. Don't call it anymore.
499
+
500
+ def self.manage_gems # :nodoc:
501
+ file, lineno = location_of_caller
502
+
503
+ warn "#{file}:#{lineno}:Warning: Gem::manage_gems is deprecated and will be removed on or after March 2009."
504
+ end
505
+
506
+ ##
507
+ # The version of the Marshal format for your Ruby.
508
+
509
+ def self.marshal_version
510
+ "#{Marshal::MAJOR_VERSION}.#{Marshal::MINOR_VERSION}"
511
+ end
512
+
513
+ ##
514
+ # Array of paths to search for Gems.
515
+
516
+ def self.path
517
+ @gem_path ||= nil
518
+
519
+ unless @gem_path then
520
+ paths = [ENV['GEM_PATH'] || Gem.configuration.path || default_path]
521
+
522
+ if defined?(APPLE_GEM_HOME) and not ENV['GEM_PATH'] then
523
+ paths << APPLE_GEM_HOME
524
+ end
525
+
526
+ set_paths paths.compact.join(File::PATH_SEPARATOR)
527
+ end
528
+
529
+ @gem_path
530
+ end
531
+
532
+ ##
533
+ # Set array of platforms this RubyGems supports (primarily for testing).
534
+
535
+ def self.platforms=(platforms)
536
+ @platforms = platforms
537
+ end
538
+
539
+ ##
540
+ # Array of platforms this RubyGems supports.
541
+
542
+ def self.platforms
543
+ @platforms ||= []
544
+ if @platforms.empty?
545
+ @platforms = [Gem::Platform::RUBY, Gem::Platform.local]
546
+ end
547
+ @platforms
548
+ end
549
+
550
+ ##
551
+ # Adds a post-install hook that will be passed an Gem::Installer instance
552
+ # when Gem::Installer#install is called
553
+
554
+ def self.post_install(&hook)
555
+ @post_install_hooks << hook
556
+ end
557
+
558
+ ##
559
+ # Adds a post-uninstall hook that will be passed a Gem::Uninstaller instance
560
+ # and the spec that was uninstalled when Gem::Uninstaller#uninstall is
561
+ # called
562
+
563
+ def self.post_uninstall(&hook)
564
+ @post_uninstall_hooks << hook
565
+ end
566
+
567
+ ##
568
+ # Adds a pre-install hook that will be passed an Gem::Installer instance
569
+ # when Gem::Installer#install is called
570
+
571
+ def self.pre_install(&hook)
572
+ @pre_install_hooks << hook
573
+ end
574
+
575
+ ##
576
+ # Adds a pre-uninstall hook that will be passed an Gem::Uninstaller instance
577
+ # and the spec that will be uninstalled when Gem::Uninstaller#uninstall is
578
+ # called
579
+
580
+ def self.pre_uninstall(&hook)
581
+ @pre_uninstall_hooks << hook
582
+ end
583
+
584
+ ##
585
+ # The directory prefix this RubyGems was installed at.
586
+
587
+ def self.prefix
588
+ prefix = File.dirname File.expand_path(__FILE__)
589
+
590
+ if File.dirname(prefix) == File.expand_path(ConfigMap[:sitelibdir]) or
591
+ File.dirname(prefix) == File.expand_path(ConfigMap[:libdir]) or
592
+ 'lib' != File.basename(prefix) then
593
+ nil
594
+ else
595
+ File.dirname prefix
596
+ end
597
+ end
598
+
599
+ ##
600
+ # Refresh source_index from disk and clear searcher.
601
+
602
+ def self.refresh
603
+ source_index.refresh!
604
+
605
+ MUTEX.synchronize do
606
+ @searcher = nil
607
+ end
608
+ end
609
+
610
+ ##
611
+ # Safely read a file in binary mode on all platforms.
612
+
613
+ def self.read_binary(path)
614
+ File.open path, binary_mode do |f| f.read end
615
+ end
616
+
617
+ ##
618
+ # Report a load error during activation. The message of load error
619
+ # depends on whether it was a version mismatch or if there are not gems of
620
+ # any version by the requested name.
621
+
622
+ def self.report_activate_error(gem)
623
+ matches = Gem.source_index.find_name(gem.name)
624
+
625
+ if matches.empty? then
626
+ error = Gem::LoadError.new(
627
+ "Could not find RubyGem #{gem.name} (#{gem.version_requirements})\n")
628
+ else
629
+ error = Gem::LoadError.new(
630
+ "RubyGem version error: " +
631
+ "#{gem.name}(#{matches.first.version} not #{gem.version_requirements})\n")
632
+ end
633
+
634
+ error.name = gem.name
635
+ error.version_requirement = gem.version_requirements
636
+ raise error
637
+ end
638
+
639
+ private_class_method :report_activate_error
640
+
641
+ def self.required_location(gemname, libfile, *version_constraints)
642
+ version_constraints = Gem::Requirement.default if version_constraints.empty?
643
+ matches = Gem.source_index.find_name(gemname, version_constraints)
644
+ return nil if matches.empty?
645
+ spec = matches.last
646
+ spec.require_paths.each do |path|
647
+ result = File.join(spec.full_gem_path, path, libfile)
648
+ return result if File.exist?(result)
649
+ end
650
+ nil
651
+ end
652
+
653
+ ##
654
+ # The path to the running Ruby interpreter.
655
+
656
+ def self.ruby
657
+ if @ruby.nil? then
658
+ @ruby = File.join(ConfigMap[:bindir],
659
+ ConfigMap[:ruby_install_name])
660
+ @ruby << ConfigMap[:EXEEXT]
661
+
662
+ # escape string in case path to ruby executable contain spaces.
663
+ @ruby.sub!(/.*\s.*/m, '"\&"')
664
+ end
665
+
666
+ @ruby
667
+ end
668
+
669
+ ##
670
+ # A Gem::Version for the currently running ruby.
671
+
672
+ def self.ruby_version
673
+ return @ruby_version if defined? @ruby_version
674
+ version = RUBY_VERSION.dup
675
+ version << ".#{RUBY_PATCHLEVEL}" if defined? RUBY_PATCHLEVEL
676
+ @ruby_version = Gem::Version.new version
677
+ end
678
+
679
+ ##
680
+ # The GemPathSearcher object used to search for matching installed gems.
681
+
682
+ def self.searcher
683
+ MUTEX.synchronize do
684
+ @searcher ||= Gem::GemPathSearcher.new
685
+ end
686
+ end
687
+
688
+ ##
689
+ # Set the Gem home directory (as reported by Gem.dir).
690
+
691
+ def self.set_home(home)
692
+ home = home.gsub(File::ALT_SEPARATOR, File::SEPARATOR) if File::ALT_SEPARATOR
693
+ @gem_home = home
694
+ ensure_gem_subdirectories(@gem_home)
695
+ end
696
+
697
+ private_class_method :set_home
698
+
699
+ ##
700
+ # Set the Gem search path (as reported by Gem.path).
701
+
702
+ def self.set_paths(gpaths)
703
+ if gpaths
704
+ @gem_path = gpaths.split(File::PATH_SEPARATOR)
705
+
706
+ if File::ALT_SEPARATOR then
707
+ @gem_path.map! do |path|
708
+ path.gsub File::ALT_SEPARATOR, File::SEPARATOR
709
+ end
710
+ end
711
+
712
+ @gem_path << Gem.dir
713
+ else
714
+ # TODO: should this be Gem.default_path instead?
715
+ @gem_path = [Gem.dir]
716
+ end
717
+
718
+ @gem_path.uniq!
719
+ @gem_path.each do |path|
720
+ if 0 == File.expand_path(path).index(Gem.user_home)
721
+ unless win_platform? then
722
+ # only create by matching user
723
+ next if Etc.getpwuid.uid != File::Stat.new(Gem.user_home).uid
724
+ end
725
+ end
726
+ ensure_gem_subdirectories path
727
+ end
728
+ end
729
+
730
+ private_class_method :set_paths
731
+
732
+ ##
733
+ # Returns the Gem::SourceIndex of specifications that are in the Gem.path
734
+
735
+ def self.source_index
736
+ @@source_index ||= SourceIndex.from_installed_gems
737
+ end
738
+
739
+ ##
740
+ # Returns an Array of sources to fetch remote gems from. If the sources
741
+ # list is empty, attempts to load the "sources" gem, then uses
742
+ # default_sources if it is not installed.
743
+
744
+ def self.sources
745
+ if @sources.empty? then
746
+ begin
747
+ gem 'sources', '> 0.0.1'
748
+ require 'sources'
749
+ rescue LoadError
750
+ @sources = default_sources
751
+ end
752
+ end
753
+
754
+ @sources
755
+ end
756
+
757
+ ##
758
+ # Need to be able to set the sources without calling
759
+ # Gem.sources.replace since that would cause an infinite loop.
760
+
761
+ def self.sources=(new_sources)
762
+ @sources = new_sources
763
+ end
764
+
765
+ ##
766
+ # Glob pattern for require-able path suffixes.
767
+
768
+ def self.suffix_pattern
769
+ @suffix_pattern ||= "{#{suffixes.join(',')}}"
770
+ end
771
+
772
+ ##
773
+ # Suffixes for require-able paths.
774
+
775
+ def self.suffixes
776
+ ['', '.rb', '.rbw', '.so', '.bundle', '.dll', '.sl', '.jar']
777
+ end
778
+
779
+ ##
780
+ # Use the +home+ and +paths+ values for Gem.dir and Gem.path. Used mainly
781
+ # by the unit tests to provide environment isolation.
782
+
783
+ def self.use_paths(home, paths=[])
784
+ clear_paths
785
+ set_home(home) if home
786
+ set_paths(paths.join(File::PATH_SEPARATOR)) if paths
787
+ end
788
+
789
+ ##
790
+ # The home directory for the user.
791
+
792
+ def self.user_home
793
+ @user_home ||= find_home
794
+ end
795
+
796
+ ##
797
+ # Is this a windows platform?
798
+
799
+ def self.win_platform?
800
+ if @@win_platform.nil? then
801
+ @@win_platform = !!WIN_PATTERNS.find { |r| RUBY_PLATFORM =~ r }
802
+ end
803
+
804
+ @@win_platform
805
+ end
806
+
807
+ class << self
808
+
809
+ attr_reader :loaded_specs
810
+
811
+ ##
812
+ # The list of hooks to be run before Gem::Install#install does any work
813
+
814
+ attr_reader :post_install_hooks
815
+
816
+ ##
817
+ # The list of hooks to be run before Gem::Uninstall#uninstall does any
818
+ # work
819
+
820
+ attr_reader :post_uninstall_hooks
821
+
822
+ ##
823
+ # The list of hooks to be run after Gem::Install#install is finished
824
+
825
+ attr_reader :pre_install_hooks
826
+
827
+ ##
828
+ # The list of hooks to be run after Gem::Uninstall#uninstall is finished
829
+
830
+ attr_reader :pre_uninstall_hooks
831
+
832
+ # :stopdoc:
833
+
834
+ alias cache source_index # an alias for the old name
835
+
836
+ # :startdoc:
837
+
838
+ end
839
+
840
+ MARSHAL_SPEC_DIR = "quick/Marshal.#{Gem.marshal_version}/"
841
+
842
+ YAML_SPEC_DIR = 'quick/'
843
+
844
+ end
845
+
846
+ module Config
847
+ # :stopdoc:
848
+ class << self
849
+ # Return the path to the data directory associated with the named
850
+ # package. If the package is loaded as a gem, return the gem
851
+ # specific data directory. Otherwise return a path to the share
852
+ # area as define by "#{ConfigMap[:datadir]}/#{package_name}".
853
+ def datadir(package_name)
854
+ Gem.datadir(package_name) ||
855
+ File.join(Gem::ConfigMap[:datadir], package_name)
856
+ end
857
+ end
858
+ # :startdoc:
859
+ end
860
+
861
+ require 'rubygems/exceptions'
862
+ require 'rubygems/version'
863
+ require 'rubygems/requirement'
864
+ require 'rubygems/dependency'
865
+ require 'rubygems/gem_path_searcher' # Needed for Kernel#gem
866
+ require 'rubygems/source_index' # Needed for Kernel#gem
867
+ require 'rubygems/platform'
868
+ require 'rubygems/builder' # HACK: Needed for rake's package task.
869
+
870
+ begin
871
+ require 'rubygems/defaults/operating_system'
872
+ rescue LoadError
873
+ end
874
+
875
+ if defined?(RUBY_ENGINE) then
876
+ begin
877
+ require "rubygems/defaults/#{RUBY_ENGINE}"
878
+ rescue LoadError
879
+ end
880
+ end
881
+
882
+ require 'rubygems/config_file'
883
+
884
+ if RUBY_VERSION < '1.9' then
885
+ require 'rubygems/custom_require'
886
+ end
887
+
888
+ Gem.clear_paths