shoesgem 0.1424.0 → 0.1426.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (320) hide show
  1. data/README.rdoc +3 -0
  2. data/shoes/CHANGELOG.txt +21 -21
  3. data/shoes/COPYING.txt +30 -30
  4. data/shoes/VERSION.txt +1 -1
  5. data/shoes/freetype6.dll +0 -0
  6. data/shoes/lib/shoes/cache.rb +54 -54
  7. data/shoes/lib/shoes/data.rb +39 -39
  8. data/shoes/lib/shoes/help.rb +421 -421
  9. data/shoes/lib/shoes/image.rb +25 -25
  10. data/shoes/lib/shoes/inspect.rb +128 -128
  11. data/shoes/lib/shoes/log.rb +48 -48
  12. data/shoes/lib/shoes/minitar.rb +986 -986
  13. data/shoes/lib/shoes/override.rb +38 -38
  14. data/shoes/lib/shoes/pack.rb +503 -503
  15. data/shoes/lib/shoes/search.rb +46 -46
  16. data/shoes/lib/shoes/setup.rb +329 -329
  17. data/shoes/lib/shoes/shy.rb +131 -131
  18. data/shoes/lib/shoes/shybuilder.rb +44 -44
  19. data/shoes/lib/shoes.rb +522 -522
  20. data/shoes/libcairo-2.dll +0 -0
  21. data/shoes/libeay32.dll +0 -0
  22. data/shoes/libexpat-1.dll +0 -0
  23. data/shoes/libfontconfig-1.dll +0 -0
  24. data/shoes/libgio-2.0-0.dll +0 -0
  25. data/shoes/libglib-2.0-0.dll +0 -0
  26. data/shoes/libgmodule-2.0-0.dll +0 -0
  27. data/shoes/libgobject-2.0-0.dll +0 -0
  28. data/shoes/libgthread-2.0-0.dll +0 -0
  29. data/shoes/libiconv2.dll +0 -0
  30. data/shoes/libjpeg-8.dll +0 -0
  31. data/shoes/libpango-1.0-0.dll +0 -0
  32. data/shoes/libpangocairo-1.0-0.dll +0 -0
  33. data/shoes/libpangoft2-1.0-0.dll +0 -0
  34. data/shoes/libpangowin32-1.0-0.dll +0 -0
  35. data/shoes/libpng14-14.dll +0 -0
  36. data/shoes/libportaudio-2.dll +0 -0
  37. data/shoes/libshoes.dll +0 -0
  38. data/shoes/libssl32.dll +0 -0
  39. data/shoes/libungif4.dll +0 -0
  40. data/shoes/msvcrt-ruby191.dll +0 -0
  41. data/shoes/nsis/base.nsi +644 -0
  42. data/shoes/nsis/installer-1.bmp +0 -0
  43. data/shoes/nsis/installer-2.bmp +0 -0
  44. data/shoes/nsis/setup.ico +0 -0
  45. data/shoes/nsis/shoes.exe.manifest +17 -0
  46. data/shoes/nsis/shoes.ico +0 -0
  47. data/shoes/nsis/shoes.nsi +644 -0
  48. data/shoes/nsis/stub-inject.c +59 -0
  49. data/shoes/nsis/stub.c +271 -0
  50. data/shoes/nsis/stub32.h +14 -0
  51. data/shoes/nsis/stub32.rc +16 -0
  52. data/shoes/readline5.dll +0 -0
  53. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/fast_xs.so +0 -0
  54. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/blankslate.rb +63 -63
  55. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/builder.rb +216 -216
  56. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/elements.rb +510 -510
  57. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/htmlinfo.rb +691 -691
  58. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/inspect.rb +103 -103
  59. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/modules.rb +40 -40
  60. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/parse.rb +38 -38
  61. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/tag.rb +202 -202
  62. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/tags.rb +164 -164
  63. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/traverse.rb +838 -838
  64. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot/xchar.rb +94 -94
  65. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot.rb +26 -26
  66. data/shoes/ruby/gems/1.9.1/gems/hpricot-0.8.1/lib/hpricot_scan.so +0 -0
  67. data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json/add/core.rb +135 -135
  68. data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json/add/rails.rb +58 -58
  69. data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json/common.rb +354 -354
  70. data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json/ext/generator.so +0 -0
  71. data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json/ext/parser.so +0 -0
  72. data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json/ext.rb +13 -13
  73. data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json/version.rb +9 -9
  74. data/shoes/ruby/gems/1.9.1/gems/json-shoes-1.1.3/lib/json.rb +8 -8
  75. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/constants.rb +49 -49
  76. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/database.rb +721 -721
  77. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/driver/dl/api.rb +152 -152
  78. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/driver/dl/driver.rb +307 -307
  79. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/driver/native/driver.rb +219 -219
  80. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/errors.rb +68 -68
  81. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/pragmas.rb +271 -271
  82. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/resultset.rb +180 -180
  83. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/statement.rb +231 -231
  84. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/translator.rb +109 -109
  85. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/value.rb +57 -57
  86. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3/version.rb +16 -16
  87. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3.rb +1 -1
  88. data/shoes/ruby/gems/1.9.1/gems/sqlite3-ruby-1.2.5-x86-mswin32/lib/sqlite3_api.so +0 -0
  89. data/shoes/ruby/gems/1.9.1/specifications/hpricot-0.8.1.gemspec +32 -32
  90. data/shoes/ruby/gems/1.9.1/specifications/json-shoes-1.1.3.gemspec +34 -34
  91. data/shoes/ruby/gems/1.9.1/specifications/sqlite3-ruby-1.2.5-x86-mswin32.gemspec +46 -46
  92. data/shoes/ruby/lib/ftsearch/analysis/analyzer.rb +16 -16
  93. data/shoes/ruby/lib/ftsearch/analysis/simple_identifier_analyzer.rb +23 -23
  94. data/shoes/ruby/lib/ftsearch/analysis/whitespace_analyzer.rb +22 -22
  95. data/shoes/ruby/lib/ftsearch/document_map_reader.rb +106 -106
  96. data/shoes/ruby/lib/ftsearch/document_map_writer.rb +46 -46
  97. data/shoes/ruby/lib/ftsearch/field_infos.rb +46 -46
  98. data/shoes/ruby/lib/ftsearch/fragment_writer.rb +114 -114
  99. data/shoes/ruby/lib/ftsearch/fulltext_reader.rb +52 -52
  100. data/shoes/ruby/lib/ftsearch/fulltext_writer.rb +75 -75
  101. data/shoes/ruby/lib/ftsearch/suffix_array_reader.rb +275 -275
  102. data/shoes/ruby/lib/ftsearch/suffix_array_writer.rb +99 -99
  103. data/shoes/ruby/lib/ftsearch/util.rb +21 -21
  104. data/shoes/ruby/lib/i386-mingw32/bigdecimal.so +0 -0
  105. data/shoes/ruby/lib/i386-mingw32/binject.so +0 -0
  106. data/shoes/ruby/lib/i386-mingw32/bloops.so +0 -0
  107. data/shoes/ruby/lib/i386-mingw32/continuation.so +0 -0
  108. data/shoes/ruby/lib/i386-mingw32/coverage.so +0 -0
  109. data/shoes/ruby/lib/i386-mingw32/curses.so +0 -0
  110. data/shoes/ruby/lib/i386-mingw32/digest/bubblebabble.so +0 -0
  111. data/shoes/ruby/lib/i386-mingw32/digest/md5.so +0 -0
  112. data/shoes/ruby/lib/i386-mingw32/digest/rmd160.so +0 -0
  113. data/shoes/ruby/lib/i386-mingw32/digest/sha1.so +0 -0
  114. data/shoes/ruby/lib/i386-mingw32/digest/sha2.so +0 -0
  115. data/shoes/ruby/lib/i386-mingw32/digest.so +0 -0
  116. data/shoes/ruby/lib/i386-mingw32/dl.so +0 -0
  117. data/shoes/ruby/lib/i386-mingw32/enc/big5.so +0 -0
  118. data/shoes/ruby/lib/i386-mingw32/enc/cp949.so +0 -0
  119. data/shoes/ruby/lib/i386-mingw32/enc/emacs_mule.so +0 -0
  120. data/shoes/ruby/lib/i386-mingw32/enc/encdb.so +0 -0
  121. data/shoes/ruby/lib/i386-mingw32/enc/euc_jp.so +0 -0
  122. data/shoes/ruby/lib/i386-mingw32/enc/euc_kr.so +0 -0
  123. data/shoes/ruby/lib/i386-mingw32/enc/euc_tw.so +0 -0
  124. data/shoes/ruby/lib/i386-mingw32/enc/gb18030.so +0 -0
  125. data/shoes/ruby/lib/i386-mingw32/enc/gb2312.so +0 -0
  126. data/shoes/ruby/lib/i386-mingw32/enc/gbk.so +0 -0
  127. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_1.so +0 -0
  128. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_10.so +0 -0
  129. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_11.so +0 -0
  130. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_13.so +0 -0
  131. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_14.so +0 -0
  132. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_15.so +0 -0
  133. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_16.so +0 -0
  134. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_2.so +0 -0
  135. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_3.so +0 -0
  136. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_4.so +0 -0
  137. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_5.so +0 -0
  138. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_6.so +0 -0
  139. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_7.so +0 -0
  140. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_8.so +0 -0
  141. data/shoes/ruby/lib/i386-mingw32/enc/iso_8859_9.so +0 -0
  142. data/shoes/ruby/lib/i386-mingw32/enc/koi8_r.so +0 -0
  143. data/shoes/ruby/lib/i386-mingw32/enc/koi8_u.so +0 -0
  144. data/shoes/ruby/lib/i386-mingw32/enc/shift_jis.so +0 -0
  145. data/shoes/ruby/lib/i386-mingw32/enc/trans/big5.so +0 -0
  146. data/shoes/ruby/lib/i386-mingw32/enc/trans/chinese.so +0 -0
  147. data/shoes/ruby/lib/i386-mingw32/enc/trans/escape.so +0 -0
  148. data/shoes/ruby/lib/i386-mingw32/enc/trans/gb18030.so +0 -0
  149. data/shoes/ruby/lib/i386-mingw32/enc/trans/gbk.so +0 -0
  150. data/shoes/ruby/lib/i386-mingw32/enc/trans/iso2022.so +0 -0
  151. data/shoes/ruby/lib/i386-mingw32/enc/trans/japanese.so +0 -0
  152. data/shoes/ruby/lib/i386-mingw32/enc/trans/japanese_euc.so +0 -0
  153. data/shoes/ruby/lib/i386-mingw32/enc/trans/japanese_sjis.so +0 -0
  154. data/shoes/ruby/lib/i386-mingw32/enc/trans/korean.so +0 -0
  155. data/shoes/ruby/lib/i386-mingw32/enc/trans/single_byte.so +0 -0
  156. data/shoes/ruby/lib/i386-mingw32/enc/trans/transdb.so +0 -0
  157. data/shoes/ruby/lib/i386-mingw32/enc/trans/utf_16_32.so +0 -0
  158. data/shoes/ruby/lib/i386-mingw32/enc/utf_16be.so +0 -0
  159. data/shoes/ruby/lib/i386-mingw32/enc/utf_16le.so +0 -0
  160. data/shoes/ruby/lib/i386-mingw32/enc/utf_32be.so +0 -0
  161. data/shoes/ruby/lib/i386-mingw32/enc/utf_32le.so +0 -0
  162. data/shoes/ruby/lib/i386-mingw32/enc/windows_1251.so +0 -0
  163. data/shoes/ruby/lib/i386-mingw32/etc.so +0 -0
  164. data/shoes/ruby/lib/i386-mingw32/fcntl.so +0 -0
  165. data/shoes/ruby/lib/i386-mingw32/fiber.so +0 -0
  166. data/shoes/ruby/lib/i386-mingw32/ftsearchrt.so +0 -0
  167. data/shoes/ruby/lib/i386-mingw32/gdbm.so +0 -0
  168. data/shoes/ruby/lib/i386-mingw32/iconv.so +0 -0
  169. data/shoes/ruby/lib/i386-mingw32/io/wait.so +0 -0
  170. data/shoes/ruby/lib/i386-mingw32/json/ext/generator.so +0 -0
  171. data/shoes/ruby/lib/i386-mingw32/json/ext/parser.so +0 -0
  172. data/shoes/ruby/lib/i386-mingw32/mathn/complex.so +0 -0
  173. data/shoes/ruby/lib/i386-mingw32/mathn/rational.so +0 -0
  174. data/shoes/ruby/lib/i386-mingw32/nkf.so +0 -0
  175. data/shoes/ruby/lib/i386-mingw32/openssl.so +0 -0
  176. data/shoes/ruby/lib/i386-mingw32/racc/cparse.so +0 -0
  177. data/shoes/ruby/lib/i386-mingw32/rbconfig.rb +2 -2
  178. data/shoes/ruby/lib/i386-mingw32/readline.so +0 -0
  179. data/shoes/ruby/lib/i386-mingw32/ripper.so +0 -0
  180. data/shoes/ruby/lib/i386-mingw32/sdbm.so +0 -0
  181. data/shoes/ruby/lib/i386-mingw32/socket.so +0 -0
  182. data/shoes/ruby/lib/i386-mingw32/stringio.so +0 -0
  183. data/shoes/ruby/lib/i386-mingw32/strscan.so +0 -0
  184. data/shoes/ruby/lib/i386-mingw32/syck.so +0 -0
  185. data/shoes/ruby/lib/i386-mingw32/win32ole.so +0 -0
  186. data/shoes/ruby/lib/i386-mingw32/zlib.so +0 -0
  187. data/shoes/ruby/lib/rbconfig/datadir.rb +24 -24
  188. data/shoes/ruby/lib/rubygems/builder.rb +88 -88
  189. data/shoes/ruby/lib/rubygems/command.rb +406 -406
  190. data/shoes/ruby/lib/rubygems/command_manager.rb +146 -146
  191. data/shoes/ruby/lib/rubygems/commands/build_command.rb +53 -53
  192. data/shoes/ruby/lib/rubygems/commands/cert_command.rb +86 -86
  193. data/shoes/ruby/lib/rubygems/commands/check_command.rb +75 -75
  194. data/shoes/ruby/lib/rubygems/commands/cleanup_command.rb +91 -91
  195. data/shoes/ruby/lib/rubygems/commands/contents_command.rb +74 -74
  196. data/shoes/ruby/lib/rubygems/commands/dependency_command.rb +188 -188
  197. data/shoes/ruby/lib/rubygems/commands/environment_command.rb +128 -128
  198. data/shoes/ruby/lib/rubygems/commands/fetch_command.rb +62 -62
  199. data/shoes/ruby/lib/rubygems/commands/generate_index_command.rb +57 -57
  200. data/shoes/ruby/lib/rubygems/commands/help_command.rb +172 -172
  201. data/shoes/ruby/lib/rubygems/commands/install_command.rb +148 -148
  202. data/shoes/ruby/lib/rubygems/commands/list_command.rb +35 -35
  203. data/shoes/ruby/lib/rubygems/commands/lock_command.rb +110 -110
  204. data/shoes/ruby/lib/rubygems/commands/mirror_command.rb +111 -111
  205. data/shoes/ruby/lib/rubygems/commands/outdated_command.rb +33 -33
  206. data/shoes/ruby/lib/rubygems/commands/pristine_command.rb +93 -93
  207. data/shoes/ruby/lib/rubygems/commands/query_command.rb +233 -233
  208. data/shoes/ruby/lib/rubygems/commands/rdoc_command.rb +82 -82
  209. data/shoes/ruby/lib/rubygems/commands/search_command.rb +37 -37
  210. data/shoes/ruby/lib/rubygems/commands/server_command.rb +48 -48
  211. data/shoes/ruby/lib/rubygems/commands/sources_command.rb +152 -152
  212. data/shoes/ruby/lib/rubygems/commands/specification_command.rb +77 -77
  213. data/shoes/ruby/lib/rubygems/commands/stale_command.rb +27 -27
  214. data/shoes/ruby/lib/rubygems/commands/uninstall_command.rb +73 -73
  215. data/shoes/ruby/lib/rubygems/commands/unpack_command.rb +95 -95
  216. data/shoes/ruby/lib/rubygems/commands/update_command.rb +181 -181
  217. data/shoes/ruby/lib/rubygems/commands/which_command.rb +87 -87
  218. data/shoes/ruby/lib/rubygems/config_file.rb +266 -266
  219. data/shoes/ruby/lib/rubygems/custom_require.rb +46 -46
  220. data/shoes/ruby/lib/rubygems/defaults.rb +89 -89
  221. data/shoes/ruby/lib/rubygems/dependency.rb +119 -119
  222. data/shoes/ruby/lib/rubygems/dependency_installer.rb +258 -258
  223. data/shoes/ruby/lib/rubygems/dependency_list.rb +165 -165
  224. data/shoes/ruby/lib/rubygems/digest/digest_adapter.rb +39 -39
  225. data/shoes/ruby/lib/rubygems/digest/md5.rb +23 -23
  226. data/shoes/ruby/lib/rubygems/digest/sha1.rb +16 -16
  227. data/shoes/ruby/lib/rubygems/digest/sha2.rb +17 -17
  228. data/shoes/ruby/lib/rubygems/doc_manager.rb +214 -214
  229. data/shoes/ruby/lib/rubygems/exceptions.rb +84 -84
  230. data/shoes/ruby/lib/rubygems/ext/builder.rb +56 -56
  231. data/shoes/ruby/lib/rubygems/ext/configure_builder.rb +24 -24
  232. data/shoes/ruby/lib/rubygems/ext/ext_conf_builder.rb +23 -23
  233. data/shoes/ruby/lib/rubygems/ext/rake_builder.rb +27 -27
  234. data/shoes/ruby/lib/rubygems/ext.rb +18 -18
  235. data/shoes/ruby/lib/rubygems/format.rb +87 -87
  236. data/shoes/ruby/lib/rubygems/gem_openssl.rb +83 -83
  237. data/shoes/ruby/lib/rubygems/gem_path_searcher.rb +100 -100
  238. data/shoes/ruby/lib/rubygems/gem_runner.rb +58 -58
  239. data/shoes/ruby/lib/rubygems/indexer.rb +370 -370
  240. data/shoes/ruby/lib/rubygems/install_update_options.rb +113 -113
  241. data/shoes/ruby/lib/rubygems/installer.rb +578 -578
  242. data/shoes/ruby/lib/rubygems/local_remote_options.rb +134 -134
  243. data/shoes/ruby/lib/rubygems/old_format.rb +148 -148
  244. data/shoes/ruby/lib/rubygems/package/f_sync_dir.rb +24 -24
  245. data/shoes/ruby/lib/rubygems/package/tar_header.rb +245 -245
  246. data/shoes/ruby/lib/rubygems/package/tar_input.rb +219 -219
  247. data/shoes/ruby/lib/rubygems/package/tar_output.rb +143 -143
  248. data/shoes/ruby/lib/rubygems/package/tar_reader/entry.rb +99 -99
  249. data/shoes/ruby/lib/rubygems/package/tar_reader.rb +86 -86
  250. data/shoes/ruby/lib/rubygems/package/tar_writer.rb +180 -180
  251. data/shoes/ruby/lib/rubygems/package.rb +95 -95
  252. data/shoes/ruby/lib/rubygems/platform.rb +178 -178
  253. data/shoes/ruby/lib/rubygems/remote_fetcher.rb +344 -344
  254. data/shoes/ruby/lib/rubygems/require_paths_builder.rb +14 -14
  255. data/shoes/ruby/lib/rubygems/requirement.rb +163 -163
  256. data/shoes/ruby/lib/rubygems/rubygems_version.rb +6 -6
  257. data/shoes/ruby/lib/rubygems/security.rb +786 -786
  258. data/shoes/ruby/lib/rubygems/server.rb +629 -629
  259. data/shoes/ruby/lib/rubygems/source_index.rb +559 -559
  260. data/shoes/ruby/lib/rubygems/source_info_cache.rb +393 -393
  261. data/shoes/ruby/lib/rubygems/source_info_cache_entry.rb +56 -56
  262. data/shoes/ruby/lib/rubygems/spec_fetcher.rb +249 -249
  263. data/shoes/ruby/lib/rubygems/specification.rb +1262 -1262
  264. data/shoes/ruby/lib/rubygems/test_utilities.rb +131 -131
  265. data/shoes/ruby/lib/rubygems/timer.rb +25 -25
  266. data/shoes/ruby/lib/rubygems/uninstaller.rb +242 -242
  267. data/shoes/ruby/lib/rubygems/user_interaction.rb +360 -360
  268. data/shoes/ruby/lib/rubygems/validator.rb +208 -208
  269. data/shoes/ruby/lib/rubygems/version.rb +167 -167
  270. data/shoes/ruby/lib/rubygems/version_option.rb +48 -48
  271. data/shoes/ruby/lib/rubygems.rb +888 -888
  272. data/shoes/ruby/lib/ubygems.rb +10 -10
  273. data/shoes/samples/class-book.rb +43 -43
  274. data/shoes/samples/class-book.yaml +387 -387
  275. data/shoes/samples/expert-definr.rb +23 -23
  276. data/shoes/samples/expert-funnies.rb +51 -51
  277. data/shoes/samples/expert-irb.rb +112 -112
  278. data/shoes/samples/expert-minesweeper.rb +267 -267
  279. data/shoes/samples/expert-othello.rb +319 -319
  280. data/shoes/samples/expert-pong.rb +62 -62
  281. data/shoes/samples/expert-tankspank.rb +385 -385
  282. data/shoes/samples/good-arc.rb +37 -37
  283. data/shoes/samples/good-clock.rb +51 -51
  284. data/shoes/samples/good-follow.rb +26 -26
  285. data/shoes/samples/good-reminder.rb +174 -174
  286. data/shoes/samples/good-vjot.rb +56 -56
  287. data/shoes/samples/simple-accordion.rb +75 -75
  288. data/shoes/samples/simple-anim-shapes.rb +17 -17
  289. data/shoes/samples/simple-anim-text.rb +13 -13
  290. data/shoes/samples/simple-arc.rb +23 -23
  291. data/shoes/samples/simple-bounce.rb +24 -24
  292. data/shoes/samples/simple-calc.rb +70 -70
  293. data/shoes/samples/simple-control-sizes.rb +24 -24
  294. data/shoes/samples/simple-curve.rb +26 -26
  295. data/shoes/samples/simple-dialogs.rb +29 -29
  296. data/shoes/samples/simple-downloader.rb +27 -27
  297. data/shoes/samples/simple-draw.rb +13 -13
  298. data/shoes/samples/simple-editor.rb +28 -28
  299. data/shoes/samples/simple-form.rb +28 -28
  300. data/shoes/samples/simple-mask.rb +21 -21
  301. data/shoes/samples/simple-menu.rb +31 -31
  302. data/shoes/samples/simple-menu1.rb +35 -35
  303. data/shoes/samples/simple-rubygems.rb +29 -29
  304. data/shoes/samples/simple-slide.rb +45 -45
  305. data/shoes/samples/simple-sphere.rb +28 -28
  306. data/shoes/samples/simple-timer.rb +13 -13
  307. data/shoes/samples/simple-video.rb +13 -13
  308. data/shoes/shoes.exe +0 -0
  309. data/shoes/sqlite3.dll +0 -0
  310. data/shoes/static/code_highlighter.js +188 -188
  311. data/shoes/static/code_highlighter_ruby.js +26 -26
  312. data/shoes/static/manual-en.txt +2783 -2783
  313. data/shoes/static/manual-ja.txt +2780 -2780
  314. data/shoes/static/manual.css +167 -167
  315. data/shoes/static/stubs/blank.run +375 -375
  316. data/shoes/static/stubs/sh-install +48 -48
  317. data/shoes/zlib.dll +0 -0
  318. data/shoes/zlib1.dll +0 -0
  319. metadata +15 -5
  320. data/shoes/static/Thumbs.db +0 -0
@@ -1,266 +1,266 @@
1
- #--
2
- # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
3
- # All rights reserved.
4
- # See LICENSE.txt for permissions.
5
- #++
6
-
7
- require 'yaml'
8
- require 'rubygems'
9
-
10
- # Store the gem command options specified in the configuration file. The
11
- # config file object acts much like a hash.
12
-
13
- class Gem::ConfigFile
14
-
15
- DEFAULT_BACKTRACE = false
16
- DEFAULT_BENCHMARK = false
17
- DEFAULT_BULK_THRESHOLD = 1000
18
- DEFAULT_VERBOSITY = true
19
- DEFAULT_UPDATE_SOURCES = true
20
-
21
- ##
22
- # For Ruby packagers to set configuration defaults. Set in
23
- # rubygems/defaults/operating_system.rb
24
-
25
- OPERATING_SYSTEM_DEFAULTS = {}
26
-
27
- ##
28
- # For Ruby implementers to set configuration defaults. Set in
29
- # rubygems/defaults/#{RUBY_ENGINE}.rb
30
-
31
- PLATFORM_DEFAULTS = {}
32
-
33
- system_config_path =
34
- begin
35
- require 'Win32API'
36
-
37
- CSIDL_COMMON_APPDATA = 0x0023
38
- path = 0.chr * 260
39
- SHGetFolderPath = Win32API.new 'shell32', 'SHGetFolderPath', 'LLLLP', 'L'
40
- SHGetFolderPath.call 0, CSIDL_COMMON_APPDATA, 0, 1, path
41
-
42
- path.strip
43
- rescue LoadError
44
- '/etc'
45
- end
46
-
47
- SYSTEM_WIDE_CONFIG_FILE = File.join system_config_path, 'gemrc'
48
-
49
- # List of arguments supplied to the config file object.
50
- attr_reader :args
51
-
52
- # Where to look for gems
53
- attr_accessor :path
54
-
55
- attr_accessor :home
56
-
57
- # True if we print backtraces on errors.
58
- attr_writer :backtrace
59
-
60
- # True if we are benchmarking this run.
61
- attr_accessor :benchmark
62
-
63
- # Bulk threshold value. If the number of missing gems are above
64
- # this threshold value, then a bulk download technique is used.
65
- attr_accessor :bulk_threshold
66
-
67
- # Verbose level of output:
68
- # * false -- No output
69
- # * true -- Normal output
70
- # * :loud -- Extra output
71
- attr_accessor :verbose
72
-
73
- # True if we want to update the SourceInfoCache every time, false otherwise
74
- attr_accessor :update_sources
75
-
76
- # Create the config file object. +args+ is the list of arguments
77
- # from the command line.
78
- #
79
- # The following command line options are handled early here rather
80
- # than later at the time most command options are processed.
81
- #
82
- # * --config-file and --config-file==NAME -- Obviously these need
83
- # to be handled by the ConfigFile object to ensure we get the
84
- # right config file.
85
- #
86
- # * --backtrace -- Backtrace needs to be turned on early so that
87
- # errors before normal option parsing can be properly handled.
88
- #
89
- # * --debug -- Enable Ruby level debug messages. Handled early
90
- # for the same reason as --backtrace.
91
- #
92
- def initialize(arg_list)
93
- @config_file_name = nil
94
- need_config_file_name = false
95
-
96
- arg_list = arg_list.map do |arg|
97
- if need_config_file_name then
98
- @config_file_name = arg
99
- need_config_file_name = false
100
- nil
101
- elsif arg =~ /^--config-file=(.*)/ then
102
- @config_file_name = $1
103
- nil
104
- elsif arg =~ /^--config-file$/ then
105
- need_config_file_name = true
106
- nil
107
- else
108
- arg
109
- end
110
- end.compact
111
-
112
- @backtrace = DEFAULT_BACKTRACE
113
- @benchmark = DEFAULT_BENCHMARK
114
- @bulk_threshold = DEFAULT_BULK_THRESHOLD
115
- @verbose = DEFAULT_VERBOSITY
116
- @update_sources = DEFAULT_UPDATE_SOURCES
117
-
118
- operating_system_config = Marshal.load Marshal.dump(OPERATING_SYSTEM_DEFAULTS)
119
- platform_config = Marshal.load Marshal.dump(PLATFORM_DEFAULTS)
120
- system_config = load_file SYSTEM_WIDE_CONFIG_FILE
121
- user_config = load_file config_file_name.dup.untaint
122
-
123
- @hash = operating_system_config.merge platform_config
124
- @hash = @hash.merge system_config
125
- @hash = @hash.merge user_config
126
-
127
- # HACK these override command-line args, which is bad
128
- @backtrace = @hash[:backtrace] if @hash.key? :backtrace
129
- @benchmark = @hash[:benchmark] if @hash.key? :benchmark
130
- @bulk_threshold = @hash[:bulk_threshold] if @hash.key? :bulk_threshold
131
- Gem.sources = @hash[:sources] if @hash.key? :sources
132
- @verbose = @hash[:verbose] if @hash.key? :verbose
133
- @update_sources = @hash[:update_sources] if @hash.key? :update_sources
134
- @path = @hash[:gempath] if @hash.key? :gempath
135
- @home = @hash[:gemhome] if @hash.key? :gemhome
136
-
137
- handle_arguments arg_list
138
- end
139
-
140
- def load_file(filename)
141
- begin
142
- YAML.load(File.read(filename)) if filename and File.exist?(filename)
143
- rescue ArgumentError
144
- warn "Failed to load #{config_file_name}"
145
- rescue Errno::EACCES
146
- warn "Failed to load #{config_file_name} due to permissions problem."
147
- end or {}
148
- end
149
-
150
- # True if the backtrace option has been specified, or debug is on.
151
- def backtrace
152
- @backtrace or $DEBUG
153
- end
154
-
155
- # The name of the configuration file.
156
- def config_file_name
157
- @config_file_name || Gem.config_file
158
- end
159
-
160
- # Delegates to @hash
161
- def each(&block)
162
- hash = @hash.dup
163
- hash.delete :update_sources
164
- hash.delete :verbose
165
- hash.delete :benchmark
166
- hash.delete :backtrace
167
- hash.delete :bulk_threshold
168
-
169
- yield :update_sources, @update_sources
170
- yield :verbose, @verbose
171
- yield :benchmark, @benchmark
172
- yield :backtrace, @backtrace
173
- yield :bulk_threshold, @bulk_threshold
174
-
175
- yield 'config_file_name', @config_file_name if @config_file_name
176
-
177
- hash.each(&block)
178
- end
179
-
180
- # Handle the command arguments.
181
- def handle_arguments(arg_list)
182
- @args = []
183
-
184
- arg_list.each do |arg|
185
- case arg
186
- when /^--(backtrace|traceback)$/ then
187
- @backtrace = true
188
- when /^--bench(mark)?$/ then
189
- @benchmark = true
190
- when /^--debug$/ then
191
- $DEBUG = true
192
- else
193
- @args << arg
194
- end
195
- end
196
- end
197
-
198
- # Really verbose mode gives you extra output.
199
- def really_verbose
200
- case verbose
201
- when true, false, nil then false
202
- else true
203
- end
204
- end
205
-
206
- # to_yaml only overwrites things you can't override on the command line.
207
- def to_yaml # :nodoc:
208
- yaml_hash = {}
209
- yaml_hash[:backtrace] = @hash.key?(:backtrace) ? @hash[:backtrace] :
210
- DEFAULT_BACKTRACE
211
- yaml_hash[:benchmark] = @hash.key?(:benchmark) ? @hash[:benchmark] :
212
- DEFAULT_BENCHMARK
213
- yaml_hash[:bulk_threshold] = @hash.key?(:bulk_threshold) ?
214
- @hash[:bulk_threshold] : DEFAULT_BULK_THRESHOLD
215
- yaml_hash[:sources] = Gem.sources
216
- yaml_hash[:update_sources] = @hash.key?(:update_sources) ?
217
- @hash[:update_sources] : DEFAULT_UPDATE_SOURCES
218
- yaml_hash[:verbose] = @hash.key?(:verbose) ? @hash[:verbose] :
219
- DEFAULT_VERBOSITY
220
-
221
- keys = yaml_hash.keys.map { |key| key.to_s }
222
- keys << 'debug'
223
- re = Regexp.union(*keys)
224
-
225
- @hash.each do |key, value|
226
- key = key.to_s
227
- next if key =~ re
228
- yaml_hash[key.to_s] = value
229
- end
230
-
231
- yaml_hash.to_yaml
232
- end
233
-
234
- # Writes out this config file, replacing its source.
235
- def write
236
- File.open config_file_name, 'w' do |fp|
237
- fp.write self.to_yaml
238
- end
239
- end
240
-
241
- # Return the configuration information for +key+.
242
- def [](key)
243
- @hash[key.to_s]
244
- end
245
-
246
- # Set configuration option +key+ to +value+.
247
- def []=(key, value)
248
- @hash[key.to_s] = value
249
- end
250
-
251
- def ==(other) # :nodoc:
252
- self.class === other and
253
- @backtrace == other.backtrace and
254
- @benchmark == other.benchmark and
255
- @bulk_threshold == other.bulk_threshold and
256
- @verbose == other.verbose and
257
- @update_sources == other.update_sources and
258
- @hash == other.hash
259
- end
260
-
261
- protected
262
-
263
- attr_reader :hash
264
-
265
- end
266
-
1
+ #--
2
+ # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
3
+ # All rights reserved.
4
+ # See LICENSE.txt for permissions.
5
+ #++
6
+
7
+ require 'yaml'
8
+ require 'rubygems'
9
+
10
+ # Store the gem command options specified in the configuration file. The
11
+ # config file object acts much like a hash.
12
+
13
+ class Gem::ConfigFile
14
+
15
+ DEFAULT_BACKTRACE = false
16
+ DEFAULT_BENCHMARK = false
17
+ DEFAULT_BULK_THRESHOLD = 1000
18
+ DEFAULT_VERBOSITY = true
19
+ DEFAULT_UPDATE_SOURCES = true
20
+
21
+ ##
22
+ # For Ruby packagers to set configuration defaults. Set in
23
+ # rubygems/defaults/operating_system.rb
24
+
25
+ OPERATING_SYSTEM_DEFAULTS = {}
26
+
27
+ ##
28
+ # For Ruby implementers to set configuration defaults. Set in
29
+ # rubygems/defaults/#{RUBY_ENGINE}.rb
30
+
31
+ PLATFORM_DEFAULTS = {}
32
+
33
+ system_config_path =
34
+ begin
35
+ require 'Win32API'
36
+
37
+ CSIDL_COMMON_APPDATA = 0x0023
38
+ path = 0.chr * 260
39
+ SHGetFolderPath = Win32API.new 'shell32', 'SHGetFolderPath', 'LLLLP', 'L'
40
+ SHGetFolderPath.call 0, CSIDL_COMMON_APPDATA, 0, 1, path
41
+
42
+ path.strip
43
+ rescue LoadError
44
+ '/etc'
45
+ end
46
+
47
+ SYSTEM_WIDE_CONFIG_FILE = File.join system_config_path, 'gemrc'
48
+
49
+ # List of arguments supplied to the config file object.
50
+ attr_reader :args
51
+
52
+ # Where to look for gems
53
+ attr_accessor :path
54
+
55
+ attr_accessor :home
56
+
57
+ # True if we print backtraces on errors.
58
+ attr_writer :backtrace
59
+
60
+ # True if we are benchmarking this run.
61
+ attr_accessor :benchmark
62
+
63
+ # Bulk threshold value. If the number of missing gems are above
64
+ # this threshold value, then a bulk download technique is used.
65
+ attr_accessor :bulk_threshold
66
+
67
+ # Verbose level of output:
68
+ # * false -- No output
69
+ # * true -- Normal output
70
+ # * :loud -- Extra output
71
+ attr_accessor :verbose
72
+
73
+ # True if we want to update the SourceInfoCache every time, false otherwise
74
+ attr_accessor :update_sources
75
+
76
+ # Create the config file object. +args+ is the list of arguments
77
+ # from the command line.
78
+ #
79
+ # The following command line options are handled early here rather
80
+ # than later at the time most command options are processed.
81
+ #
82
+ # * --config-file and --config-file==NAME -- Obviously these need
83
+ # to be handled by the ConfigFile object to ensure we get the
84
+ # right config file.
85
+ #
86
+ # * --backtrace -- Backtrace needs to be turned on early so that
87
+ # errors before normal option parsing can be properly handled.
88
+ #
89
+ # * --debug -- Enable Ruby level debug messages. Handled early
90
+ # for the same reason as --backtrace.
91
+ #
92
+ def initialize(arg_list)
93
+ @config_file_name = nil
94
+ need_config_file_name = false
95
+
96
+ arg_list = arg_list.map do |arg|
97
+ if need_config_file_name then
98
+ @config_file_name = arg
99
+ need_config_file_name = false
100
+ nil
101
+ elsif arg =~ /^--config-file=(.*)/ then
102
+ @config_file_name = $1
103
+ nil
104
+ elsif arg =~ /^--config-file$/ then
105
+ need_config_file_name = true
106
+ nil
107
+ else
108
+ arg
109
+ end
110
+ end.compact
111
+
112
+ @backtrace = DEFAULT_BACKTRACE
113
+ @benchmark = DEFAULT_BENCHMARK
114
+ @bulk_threshold = DEFAULT_BULK_THRESHOLD
115
+ @verbose = DEFAULT_VERBOSITY
116
+ @update_sources = DEFAULT_UPDATE_SOURCES
117
+
118
+ operating_system_config = Marshal.load Marshal.dump(OPERATING_SYSTEM_DEFAULTS)
119
+ platform_config = Marshal.load Marshal.dump(PLATFORM_DEFAULTS)
120
+ system_config = load_file SYSTEM_WIDE_CONFIG_FILE
121
+ user_config = load_file config_file_name.dup.untaint
122
+
123
+ @hash = operating_system_config.merge platform_config
124
+ @hash = @hash.merge system_config
125
+ @hash = @hash.merge user_config
126
+
127
+ # HACK these override command-line args, which is bad
128
+ @backtrace = @hash[:backtrace] if @hash.key? :backtrace
129
+ @benchmark = @hash[:benchmark] if @hash.key? :benchmark
130
+ @bulk_threshold = @hash[:bulk_threshold] if @hash.key? :bulk_threshold
131
+ Gem.sources = @hash[:sources] if @hash.key? :sources
132
+ @verbose = @hash[:verbose] if @hash.key? :verbose
133
+ @update_sources = @hash[:update_sources] if @hash.key? :update_sources
134
+ @path = @hash[:gempath] if @hash.key? :gempath
135
+ @home = @hash[:gemhome] if @hash.key? :gemhome
136
+
137
+ handle_arguments arg_list
138
+ end
139
+
140
+ def load_file(filename)
141
+ begin
142
+ YAML.load(File.read(filename)) if filename and File.exist?(filename)
143
+ rescue ArgumentError
144
+ warn "Failed to load #{config_file_name}"
145
+ rescue Errno::EACCES
146
+ warn "Failed to load #{config_file_name} due to permissions problem."
147
+ end or {}
148
+ end
149
+
150
+ # True if the backtrace option has been specified, or debug is on.
151
+ def backtrace
152
+ @backtrace or $DEBUG
153
+ end
154
+
155
+ # The name of the configuration file.
156
+ def config_file_name
157
+ @config_file_name || Gem.config_file
158
+ end
159
+
160
+ # Delegates to @hash
161
+ def each(&block)
162
+ hash = @hash.dup
163
+ hash.delete :update_sources
164
+ hash.delete :verbose
165
+ hash.delete :benchmark
166
+ hash.delete :backtrace
167
+ hash.delete :bulk_threshold
168
+
169
+ yield :update_sources, @update_sources
170
+ yield :verbose, @verbose
171
+ yield :benchmark, @benchmark
172
+ yield :backtrace, @backtrace
173
+ yield :bulk_threshold, @bulk_threshold
174
+
175
+ yield 'config_file_name', @config_file_name if @config_file_name
176
+
177
+ hash.each(&block)
178
+ end
179
+
180
+ # Handle the command arguments.
181
+ def handle_arguments(arg_list)
182
+ @args = []
183
+
184
+ arg_list.each do |arg|
185
+ case arg
186
+ when /^--(backtrace|traceback)$/ then
187
+ @backtrace = true
188
+ when /^--bench(mark)?$/ then
189
+ @benchmark = true
190
+ when /^--debug$/ then
191
+ $DEBUG = true
192
+ else
193
+ @args << arg
194
+ end
195
+ end
196
+ end
197
+
198
+ # Really verbose mode gives you extra output.
199
+ def really_verbose
200
+ case verbose
201
+ when true, false, nil then false
202
+ else true
203
+ end
204
+ end
205
+
206
+ # to_yaml only overwrites things you can't override on the command line.
207
+ def to_yaml # :nodoc:
208
+ yaml_hash = {}
209
+ yaml_hash[:backtrace] = @hash.key?(:backtrace) ? @hash[:backtrace] :
210
+ DEFAULT_BACKTRACE
211
+ yaml_hash[:benchmark] = @hash.key?(:benchmark) ? @hash[:benchmark] :
212
+ DEFAULT_BENCHMARK
213
+ yaml_hash[:bulk_threshold] = @hash.key?(:bulk_threshold) ?
214
+ @hash[:bulk_threshold] : DEFAULT_BULK_THRESHOLD
215
+ yaml_hash[:sources] = Gem.sources
216
+ yaml_hash[:update_sources] = @hash.key?(:update_sources) ?
217
+ @hash[:update_sources] : DEFAULT_UPDATE_SOURCES
218
+ yaml_hash[:verbose] = @hash.key?(:verbose) ? @hash[:verbose] :
219
+ DEFAULT_VERBOSITY
220
+
221
+ keys = yaml_hash.keys.map { |key| key.to_s }
222
+ keys << 'debug'
223
+ re = Regexp.union(*keys)
224
+
225
+ @hash.each do |key, value|
226
+ key = key.to_s
227
+ next if key =~ re
228
+ yaml_hash[key.to_s] = value
229
+ end
230
+
231
+ yaml_hash.to_yaml
232
+ end
233
+
234
+ # Writes out this config file, replacing its source.
235
+ def write
236
+ File.open config_file_name, 'w' do |fp|
237
+ fp.write self.to_yaml
238
+ end
239
+ end
240
+
241
+ # Return the configuration information for +key+.
242
+ def [](key)
243
+ @hash[key.to_s]
244
+ end
245
+
246
+ # Set configuration option +key+ to +value+.
247
+ def []=(key, value)
248
+ @hash[key.to_s] = value
249
+ end
250
+
251
+ def ==(other) # :nodoc:
252
+ self.class === other and
253
+ @backtrace == other.backtrace and
254
+ @benchmark == other.benchmark and
255
+ @bulk_threshold == other.bulk_threshold and
256
+ @verbose == other.verbose and
257
+ @update_sources == other.update_sources and
258
+ @hash == other.hash
259
+ end
260
+
261
+ protected
262
+
263
+ attr_reader :hash
264
+
265
+ end
266
+
@@ -1,46 +1,46 @@
1
- #--
2
- # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
3
- # All rights reserved.
4
- # See LICENSE.txt for permissions.
5
- #++
6
-
7
- require 'rubygems'
8
-
9
- module Kernel
10
-
11
- ##
12
- # The Kernel#require from before RubyGems was loaded.
13
-
14
- alias gem_original_require require
15
-
16
- ##
17
- # When RubyGems is required, Kernel#require is replaced with our own which
18
- # is capable of loading gems on demand.
19
- #
20
- # When you call <tt>require 'x'</tt>, this is what happens:
21
- # * If the file can be loaded from the existing Ruby loadpath, it
22
- # is.
23
- # * Otherwise, installed gems are searched for a file that matches.
24
- # If it's found in gem 'y', that gem is activated (added to the
25
- # loadpath).
26
- #
27
- # The normal <tt>require</tt> functionality of returning false if
28
- # that file has already been loaded is preserved.
29
-
30
- def require(path) # :doc:
31
- gem_original_require path
32
- rescue LoadError => load_error
33
- if load_error.message =~ /#{Regexp.escape path}\z/ and
34
- spec = Gem.searcher.find(path) then
35
- Gem.activate(spec.name, "= #{spec.version}")
36
- gem_original_require path
37
- else
38
- raise load_error
39
- end
40
- end
41
-
42
- private :require
43
- private :gem_original_require
44
-
45
- end
46
-
1
+ #--
2
+ # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
3
+ # All rights reserved.
4
+ # See LICENSE.txt for permissions.
5
+ #++
6
+
7
+ require 'rubygems'
8
+
9
+ module Kernel
10
+
11
+ ##
12
+ # The Kernel#require from before RubyGems was loaded.
13
+
14
+ alias gem_original_require require
15
+
16
+ ##
17
+ # When RubyGems is required, Kernel#require is replaced with our own which
18
+ # is capable of loading gems on demand.
19
+ #
20
+ # When you call <tt>require 'x'</tt>, this is what happens:
21
+ # * If the file can be loaded from the existing Ruby loadpath, it
22
+ # is.
23
+ # * Otherwise, installed gems are searched for a file that matches.
24
+ # If it's found in gem 'y', that gem is activated (added to the
25
+ # loadpath).
26
+ #
27
+ # The normal <tt>require</tt> functionality of returning false if
28
+ # that file has already been loaded is preserved.
29
+
30
+ def require(path) # :doc:
31
+ gem_original_require path
32
+ rescue LoadError => load_error
33
+ if load_error.message =~ /#{Regexp.escape path}\z/ and
34
+ spec = Gem.searcher.find(path) then
35
+ Gem.activate(spec.name, "= #{spec.version}")
36
+ gem_original_require path
37
+ else
38
+ raise load_error
39
+ end
40
+ end
41
+
42
+ private :require
43
+ private :gem_original_require
44
+
45
+ end
46
+