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,406 +1,406 @@
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 'optparse'
8
-
9
- require 'rubygems/user_interaction'
10
-
11
- module Gem
12
-
13
- # Base class for all Gem commands. When creating a new gem command, define
14
- # #arguments, #defaults_str, #description and #usage (as appropriate).
15
- class Command
16
-
17
- include UserInteraction
18
-
19
- # The name of the command.
20
- attr_reader :command
21
-
22
- # The options for the command.
23
- attr_reader :options
24
-
25
- # The default options for the command.
26
- attr_accessor :defaults
27
-
28
- # The name of the command for command-line invocation.
29
- attr_accessor :program_name
30
-
31
- # A short description of the command.
32
- attr_accessor :summary
33
-
34
- # Initializes a generic gem command named +command+. +summary+ is a short
35
- # description displayed in `gem help commands`. +defaults+ are the
36
- # default options. Defaults should be mirrored in #defaults_str, unless
37
- # there are none.
38
- #
39
- # Use add_option to add command-line switches.
40
- def initialize(command, summary=nil, defaults={})
41
- @command = command
42
- @summary = summary
43
- @program_name = "gem #{command}"
44
- @defaults = defaults
45
- @options = defaults.dup
46
- @option_groups = Hash.new { |h,k| h[k] = [] }
47
- @parser = nil
48
- @when_invoked = nil
49
- end
50
-
51
- # True if +long+ begins with the characters from +short+.
52
- def begins?(long, short)
53
- return false if short.nil?
54
- long[0, short.length] == short
55
- end
56
-
57
- # Override to provide command handling.
58
- def execute
59
- fail "Generic command has no actions"
60
- end
61
-
62
- # Get all gem names from the command line.
63
- def get_all_gem_names
64
- args = options[:args]
65
-
66
- if args.nil? or args.empty? then
67
- raise Gem::CommandLineError,
68
- "Please specify at least one gem name (e.g. gem build GEMNAME)"
69
- end
70
-
71
- gem_names = args.select { |arg| arg !~ /^-/ }
72
- end
73
-
74
- # Get the single gem name from the command line. Fail if there is no gem
75
- # name or if there is more than one gem name given.
76
- def get_one_gem_name
77
- args = options[:args]
78
-
79
- if args.nil? or args.empty? then
80
- raise Gem::CommandLineError,
81
- "Please specify a gem name on the command line (e.g. gem build GEMNAME)"
82
- end
83
-
84
- if args.size > 1 then
85
- raise Gem::CommandLineError,
86
- "Too many gem names (#{args.join(', ')}); please specify only one"
87
- end
88
-
89
- args.first
90
- end
91
-
92
- # Get a single optional argument from the command line. If more than one
93
- # argument is given, return only the first. Return nil if none are given.
94
- def get_one_optional_argument
95
- args = options[:args] || []
96
- args.first
97
- end
98
-
99
- # Override to provide details of the arguments a command takes.
100
- # It should return a left-justified string, one argument per line.
101
- def arguments
102
- ""
103
- end
104
-
105
- # Override to display the default values of the command
106
- # options. (similar to +arguments+, but displays the default
107
- # values).
108
- def defaults_str
109
- ""
110
- end
111
-
112
- # Override to display a longer description of what this command does.
113
- def description
114
- nil
115
- end
116
-
117
- # Override to display the usage for an individual gem command.
118
- def usage
119
- program_name
120
- end
121
-
122
- # Display the help message for the command.
123
- def show_help
124
- parser.program_name = usage
125
- say parser
126
- end
127
-
128
- # Invoke the command with the given list of arguments.
129
- def invoke(*args)
130
- handle_options(args)
131
- if options[:help]
132
- show_help
133
- elsif @when_invoked
134
- @when_invoked.call(options)
135
- else
136
- execute
137
- end
138
- end
139
-
140
- # Call the given block when invoked.
141
- #
142
- # Normal command invocations just executes the +execute+ method of
143
- # the command. Specifying an invocation block allows the test
144
- # methods to override the normal action of a command to determine
145
- # that it has been invoked correctly.
146
- def when_invoked(&block)
147
- @when_invoked = block
148
- end
149
-
150
- # Add a command-line option and handler to the command.
151
- #
152
- # See OptionParser#make_switch for an explanation of +opts+.
153
- #
154
- # +handler+ will be called with two values, the value of the argument and
155
- # the options hash.
156
- def add_option(*opts, &handler) # :yields: value, options
157
- group_name = Symbol === opts.first ? opts.shift : :options
158
-
159
- @option_groups[group_name] << [opts, handler]
160
- end
161
-
162
- # Remove previously defined command-line argument +name+.
163
- def remove_option(name)
164
- @option_groups.each do |_, option_list|
165
- option_list.reject! { |args, _| args.any? { |x| x =~ /^#{name}/ } }
166
- end
167
- end
168
-
169
- # Merge a set of command options with the set of default options
170
- # (without modifying the default option hash).
171
- def merge_options(new_options)
172
- @options = @defaults.clone
173
- new_options.each do |k,v| @options[k] = v end
174
- end
175
-
176
- # True if the command handles the given argument list.
177
- def handles?(args)
178
- begin
179
- parser.parse!(args.dup)
180
- return true
181
- rescue
182
- return false
183
- end
184
- end
185
-
186
- # Handle the given list of arguments by parsing them and recording
187
- # the results.
188
- def handle_options(args)
189
- args = add_extra_args(args)
190
- @options = @defaults.clone
191
- parser.parse!(args)
192
- @options[:args] = args
193
- end
194
-
195
- def add_extra_args(args)
196
- result = []
197
- s_extra = Command.specific_extra_args(@command)
198
- extra = Command.extra_args + s_extra
199
- while ! extra.empty?
200
- ex = []
201
- ex << extra.shift
202
- ex << extra.shift if extra.first.to_s =~ /^[^-]/
203
- result << ex if handles?(ex)
204
- end
205
- result.flatten!
206
- result.concat(args)
207
- result
208
- end
209
-
210
- private
211
-
212
- # Create on demand parser.
213
- def parser
214
- create_option_parser if @parser.nil?
215
- @parser
216
- end
217
-
218
- def create_option_parser
219
- @parser = OptionParser.new
220
-
221
- @parser.separator("")
222
- regular_options = @option_groups.delete :options
223
-
224
- configure_options "", regular_options
225
-
226
- @option_groups.sort_by { |n,_| n.to_s }.each do |group_name, option_list|
227
- configure_options group_name, option_list
228
- end
229
-
230
- configure_options "Common", Command.common_options
231
-
232
- @parser.separator("")
233
- unless arguments.empty?
234
- @parser.separator(" Arguments:")
235
- arguments.split(/\n/).each do |arg_desc|
236
- @parser.separator(" #{arg_desc}")
237
- end
238
- @parser.separator("")
239
- end
240
-
241
- @parser.separator(" Summary:")
242
- wrap(@summary, 80 - 4).split("\n").each do |line|
243
- @parser.separator(" #{line.strip}")
244
- end
245
-
246
- if description then
247
- formatted = description.split("\n\n").map do |chunk|
248
- wrap(chunk, 80 - 4)
249
- end.join("\n")
250
-
251
- @parser.separator ""
252
- @parser.separator " Description:"
253
- formatted.split("\n").each do |line|
254
- @parser.separator " #{line.rstrip}"
255
- end
256
- end
257
-
258
- unless defaults_str.empty?
259
- @parser.separator("")
260
- @parser.separator(" Defaults:")
261
- defaults_str.split(/\n/).each do |line|
262
- @parser.separator(" #{line}")
263
- end
264
- end
265
- end
266
-
267
- def configure_options(header, option_list)
268
- return if option_list.nil? or option_list.empty?
269
-
270
- header = header.to_s.empty? ? '' : "#{header} "
271
- @parser.separator " #{header}Options:"
272
-
273
- option_list.each do |args, handler|
274
- dashes = args.select { |arg| arg =~ /^-/ }
275
- @parser.on(*args) do |value|
276
- handler.call(value, @options)
277
- end
278
- end
279
-
280
- @parser.separator ''
281
- end
282
-
283
- # Wraps +text+ to +width+
284
- def wrap(text, width)
285
- text.gsub(/(.{1,#{width}})( +|$\n?)|(.{1,#{width}})/, "\\1\\3\n")
286
- end
287
-
288
- ##################################################################
289
- # Class methods for Command.
290
- class << self
291
- def common_options
292
- @common_options ||= []
293
- end
294
-
295
- def add_common_option(*args, &handler)
296
- Gem::Command.common_options << [args, handler]
297
- end
298
-
299
- def extra_args
300
- @extra_args ||= []
301
- end
302
-
303
- def extra_args=(value)
304
- case value
305
- when Array
306
- @extra_args = value
307
- when String
308
- @extra_args = value.split
309
- end
310
- end
311
-
312
- # Return an array of extra arguments for the command. The extra
313
- # arguments come from the gem configuration file read at program
314
- # startup.
315
- def specific_extra_args(cmd)
316
- specific_extra_args_hash[cmd]
317
- end
318
-
319
- # Add a list of extra arguments for the given command. +args+
320
- # may be an array or a string to be split on white space.
321
- def add_specific_extra_args(cmd,args)
322
- args = args.split(/\s+/) if args.kind_of? String
323
- specific_extra_args_hash[cmd] = args
324
- end
325
-
326
- # Accessor for the specific extra args hash (self initializing).
327
- def specific_extra_args_hash
328
- @specific_extra_args_hash ||= Hash.new do |h,k|
329
- h[k] = Array.new
330
- end
331
- end
332
- end
333
-
334
- # ----------------------------------------------------------------
335
- # Add the options common to all commands.
336
-
337
- add_common_option('-h', '--help',
338
- 'Get help on this command') do
339
- |value, options|
340
- options[:help] = true
341
- end
342
-
343
- add_common_option('-V', '--[no-]verbose',
344
- 'Set the verbose level of output') do |value, options|
345
- # Set us to "really verbose" so the progress meter works
346
- if Gem.configuration.verbose and value then
347
- Gem.configuration.verbose = 1
348
- else
349
- Gem.configuration.verbose = value
350
- end
351
- end
352
-
353
- add_common_option('-q', '--quiet', 'Silence commands') do |value, options|
354
- Gem.configuration.verbose = false
355
- end
356
-
357
- # Backtrace and config-file are added so they show up in the help
358
- # commands. Both options are actually handled before the other
359
- # options get parsed.
360
-
361
- add_common_option('--config-file FILE',
362
- "Use this config file instead of default") do
363
- end
364
-
365
- add_common_option('--backtrace',
366
- 'Show stack backtrace on errors') do
367
- end
368
-
369
- add_common_option('--debug',
370
- 'Turn on Ruby debugging') do
371
- end
372
-
373
- # :stopdoc:
374
- HELP = %{
375
- RubyGems is a sophisticated package manager for Ruby. This is a
376
- basic help message containing pointers to more information.
377
-
378
- Usage:
379
- gem -h/--help
380
- gem -v/--version
381
- gem command [arguments...] [options...]
382
-
383
- Examples:
384
- gem install rake
385
- gem list --local
386
- gem build package.gemspec
387
- gem help install
388
-
389
- Further help:
390
- gem help commands list all 'gem' commands
391
- gem help examples show some examples of usage
392
- gem help platforms show information about platforms
393
- gem help <COMMAND> show help on COMMAND
394
- (e.g. 'gem help install')
395
- Further information:
396
- http://rubygems.rubyforge.org
397
- }.gsub(/^ /, "")
398
-
399
- # :startdoc:
400
-
401
- end # class
402
-
403
- # This is where Commands will be placed in the namespace
404
- module Commands; end
405
-
406
- end
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 'optparse'
8
+
9
+ require 'rubygems/user_interaction'
10
+
11
+ module Gem
12
+
13
+ # Base class for all Gem commands. When creating a new gem command, define
14
+ # #arguments, #defaults_str, #description and #usage (as appropriate).
15
+ class Command
16
+
17
+ include UserInteraction
18
+
19
+ # The name of the command.
20
+ attr_reader :command
21
+
22
+ # The options for the command.
23
+ attr_reader :options
24
+
25
+ # The default options for the command.
26
+ attr_accessor :defaults
27
+
28
+ # The name of the command for command-line invocation.
29
+ attr_accessor :program_name
30
+
31
+ # A short description of the command.
32
+ attr_accessor :summary
33
+
34
+ # Initializes a generic gem command named +command+. +summary+ is a short
35
+ # description displayed in `gem help commands`. +defaults+ are the
36
+ # default options. Defaults should be mirrored in #defaults_str, unless
37
+ # there are none.
38
+ #
39
+ # Use add_option to add command-line switches.
40
+ def initialize(command, summary=nil, defaults={})
41
+ @command = command
42
+ @summary = summary
43
+ @program_name = "gem #{command}"
44
+ @defaults = defaults
45
+ @options = defaults.dup
46
+ @option_groups = Hash.new { |h,k| h[k] = [] }
47
+ @parser = nil
48
+ @when_invoked = nil
49
+ end
50
+
51
+ # True if +long+ begins with the characters from +short+.
52
+ def begins?(long, short)
53
+ return false if short.nil?
54
+ long[0, short.length] == short
55
+ end
56
+
57
+ # Override to provide command handling.
58
+ def execute
59
+ fail "Generic command has no actions"
60
+ end
61
+
62
+ # Get all gem names from the command line.
63
+ def get_all_gem_names
64
+ args = options[:args]
65
+
66
+ if args.nil? or args.empty? then
67
+ raise Gem::CommandLineError,
68
+ "Please specify at least one gem name (e.g. gem build GEMNAME)"
69
+ end
70
+
71
+ gem_names = args.select { |arg| arg !~ /^-/ }
72
+ end
73
+
74
+ # Get the single gem name from the command line. Fail if there is no gem
75
+ # name or if there is more than one gem name given.
76
+ def get_one_gem_name
77
+ args = options[:args]
78
+
79
+ if args.nil? or args.empty? then
80
+ raise Gem::CommandLineError,
81
+ "Please specify a gem name on the command line (e.g. gem build GEMNAME)"
82
+ end
83
+
84
+ if args.size > 1 then
85
+ raise Gem::CommandLineError,
86
+ "Too many gem names (#{args.join(', ')}); please specify only one"
87
+ end
88
+
89
+ args.first
90
+ end
91
+
92
+ # Get a single optional argument from the command line. If more than one
93
+ # argument is given, return only the first. Return nil if none are given.
94
+ def get_one_optional_argument
95
+ args = options[:args] || []
96
+ args.first
97
+ end
98
+
99
+ # Override to provide details of the arguments a command takes.
100
+ # It should return a left-justified string, one argument per line.
101
+ def arguments
102
+ ""
103
+ end
104
+
105
+ # Override to display the default values of the command
106
+ # options. (similar to +arguments+, but displays the default
107
+ # values).
108
+ def defaults_str
109
+ ""
110
+ end
111
+
112
+ # Override to display a longer description of what this command does.
113
+ def description
114
+ nil
115
+ end
116
+
117
+ # Override to display the usage for an individual gem command.
118
+ def usage
119
+ program_name
120
+ end
121
+
122
+ # Display the help message for the command.
123
+ def show_help
124
+ parser.program_name = usage
125
+ say parser
126
+ end
127
+
128
+ # Invoke the command with the given list of arguments.
129
+ def invoke(*args)
130
+ handle_options(args)
131
+ if options[:help]
132
+ show_help
133
+ elsif @when_invoked
134
+ @when_invoked.call(options)
135
+ else
136
+ execute
137
+ end
138
+ end
139
+
140
+ # Call the given block when invoked.
141
+ #
142
+ # Normal command invocations just executes the +execute+ method of
143
+ # the command. Specifying an invocation block allows the test
144
+ # methods to override the normal action of a command to determine
145
+ # that it has been invoked correctly.
146
+ def when_invoked(&block)
147
+ @when_invoked = block
148
+ end
149
+
150
+ # Add a command-line option and handler to the command.
151
+ #
152
+ # See OptionParser#make_switch for an explanation of +opts+.
153
+ #
154
+ # +handler+ will be called with two values, the value of the argument and
155
+ # the options hash.
156
+ def add_option(*opts, &handler) # :yields: value, options
157
+ group_name = Symbol === opts.first ? opts.shift : :options
158
+
159
+ @option_groups[group_name] << [opts, handler]
160
+ end
161
+
162
+ # Remove previously defined command-line argument +name+.
163
+ def remove_option(name)
164
+ @option_groups.each do |_, option_list|
165
+ option_list.reject! { |args, _| args.any? { |x| x =~ /^#{name}/ } }
166
+ end
167
+ end
168
+
169
+ # Merge a set of command options with the set of default options
170
+ # (without modifying the default option hash).
171
+ def merge_options(new_options)
172
+ @options = @defaults.clone
173
+ new_options.each do |k,v| @options[k] = v end
174
+ end
175
+
176
+ # True if the command handles the given argument list.
177
+ def handles?(args)
178
+ begin
179
+ parser.parse!(args.dup)
180
+ return true
181
+ rescue
182
+ return false
183
+ end
184
+ end
185
+
186
+ # Handle the given list of arguments by parsing them and recording
187
+ # the results.
188
+ def handle_options(args)
189
+ args = add_extra_args(args)
190
+ @options = @defaults.clone
191
+ parser.parse!(args)
192
+ @options[:args] = args
193
+ end
194
+
195
+ def add_extra_args(args)
196
+ result = []
197
+ s_extra = Command.specific_extra_args(@command)
198
+ extra = Command.extra_args + s_extra
199
+ while ! extra.empty?
200
+ ex = []
201
+ ex << extra.shift
202
+ ex << extra.shift if extra.first.to_s =~ /^[^-]/
203
+ result << ex if handles?(ex)
204
+ end
205
+ result.flatten!
206
+ result.concat(args)
207
+ result
208
+ end
209
+
210
+ private
211
+
212
+ # Create on demand parser.
213
+ def parser
214
+ create_option_parser if @parser.nil?
215
+ @parser
216
+ end
217
+
218
+ def create_option_parser
219
+ @parser = OptionParser.new
220
+
221
+ @parser.separator("")
222
+ regular_options = @option_groups.delete :options
223
+
224
+ configure_options "", regular_options
225
+
226
+ @option_groups.sort_by { |n,_| n.to_s }.each do |group_name, option_list|
227
+ configure_options group_name, option_list
228
+ end
229
+
230
+ configure_options "Common", Command.common_options
231
+
232
+ @parser.separator("")
233
+ unless arguments.empty?
234
+ @parser.separator(" Arguments:")
235
+ arguments.split(/\n/).each do |arg_desc|
236
+ @parser.separator(" #{arg_desc}")
237
+ end
238
+ @parser.separator("")
239
+ end
240
+
241
+ @parser.separator(" Summary:")
242
+ wrap(@summary, 80 - 4).split("\n").each do |line|
243
+ @parser.separator(" #{line.strip}")
244
+ end
245
+
246
+ if description then
247
+ formatted = description.split("\n\n").map do |chunk|
248
+ wrap(chunk, 80 - 4)
249
+ end.join("\n")
250
+
251
+ @parser.separator ""
252
+ @parser.separator " Description:"
253
+ formatted.split("\n").each do |line|
254
+ @parser.separator " #{line.rstrip}"
255
+ end
256
+ end
257
+
258
+ unless defaults_str.empty?
259
+ @parser.separator("")
260
+ @parser.separator(" Defaults:")
261
+ defaults_str.split(/\n/).each do |line|
262
+ @parser.separator(" #{line}")
263
+ end
264
+ end
265
+ end
266
+
267
+ def configure_options(header, option_list)
268
+ return if option_list.nil? or option_list.empty?
269
+
270
+ header = header.to_s.empty? ? '' : "#{header} "
271
+ @parser.separator " #{header}Options:"
272
+
273
+ option_list.each do |args, handler|
274
+ dashes = args.select { |arg| arg =~ /^-/ }
275
+ @parser.on(*args) do |value|
276
+ handler.call(value, @options)
277
+ end
278
+ end
279
+
280
+ @parser.separator ''
281
+ end
282
+
283
+ # Wraps +text+ to +width+
284
+ def wrap(text, width)
285
+ text.gsub(/(.{1,#{width}})( +|$\n?)|(.{1,#{width}})/, "\\1\\3\n")
286
+ end
287
+
288
+ ##################################################################
289
+ # Class methods for Command.
290
+ class << self
291
+ def common_options
292
+ @common_options ||= []
293
+ end
294
+
295
+ def add_common_option(*args, &handler)
296
+ Gem::Command.common_options << [args, handler]
297
+ end
298
+
299
+ def extra_args
300
+ @extra_args ||= []
301
+ end
302
+
303
+ def extra_args=(value)
304
+ case value
305
+ when Array
306
+ @extra_args = value
307
+ when String
308
+ @extra_args = value.split
309
+ end
310
+ end
311
+
312
+ # Return an array of extra arguments for the command. The extra
313
+ # arguments come from the gem configuration file read at program
314
+ # startup.
315
+ def specific_extra_args(cmd)
316
+ specific_extra_args_hash[cmd]
317
+ end
318
+
319
+ # Add a list of extra arguments for the given command. +args+
320
+ # may be an array or a string to be split on white space.
321
+ def add_specific_extra_args(cmd,args)
322
+ args = args.split(/\s+/) if args.kind_of? String
323
+ specific_extra_args_hash[cmd] = args
324
+ end
325
+
326
+ # Accessor for the specific extra args hash (self initializing).
327
+ def specific_extra_args_hash
328
+ @specific_extra_args_hash ||= Hash.new do |h,k|
329
+ h[k] = Array.new
330
+ end
331
+ end
332
+ end
333
+
334
+ # ----------------------------------------------------------------
335
+ # Add the options common to all commands.
336
+
337
+ add_common_option('-h', '--help',
338
+ 'Get help on this command') do
339
+ |value, options|
340
+ options[:help] = true
341
+ end
342
+
343
+ add_common_option('-V', '--[no-]verbose',
344
+ 'Set the verbose level of output') do |value, options|
345
+ # Set us to "really verbose" so the progress meter works
346
+ if Gem.configuration.verbose and value then
347
+ Gem.configuration.verbose = 1
348
+ else
349
+ Gem.configuration.verbose = value
350
+ end
351
+ end
352
+
353
+ add_common_option('-q', '--quiet', 'Silence commands') do |value, options|
354
+ Gem.configuration.verbose = false
355
+ end
356
+
357
+ # Backtrace and config-file are added so they show up in the help
358
+ # commands. Both options are actually handled before the other
359
+ # options get parsed.
360
+
361
+ add_common_option('--config-file FILE',
362
+ "Use this config file instead of default") do
363
+ end
364
+
365
+ add_common_option('--backtrace',
366
+ 'Show stack backtrace on errors') do
367
+ end
368
+
369
+ add_common_option('--debug',
370
+ 'Turn on Ruby debugging') do
371
+ end
372
+
373
+ # :stopdoc:
374
+ HELP = %{
375
+ RubyGems is a sophisticated package manager for Ruby. This is a
376
+ basic help message containing pointers to more information.
377
+
378
+ Usage:
379
+ gem -h/--help
380
+ gem -v/--version
381
+ gem command [arguments...] [options...]
382
+
383
+ Examples:
384
+ gem install rake
385
+ gem list --local
386
+ gem build package.gemspec
387
+ gem help install
388
+
389
+ Further help:
390
+ gem help commands list all 'gem' commands
391
+ gem help examples show some examples of usage
392
+ gem help platforms show information about platforms
393
+ gem help <COMMAND> show help on COMMAND
394
+ (e.g. 'gem help install')
395
+ Further information:
396
+ http://rubygems.rubyforge.org
397
+ }.gsub(/^ /, "")
398
+
399
+ # :startdoc:
400
+
401
+ end # class
402
+
403
+ # This is where Commands will be placed in the namespace
404
+ module Commands; end
405
+
406
+ end