sprout 1.0.32.pre → 1.0.35.pre

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of sprout might be problematic. Click here for more details.

Files changed (208) hide show
  1. data/Gemfile +2 -1
  2. data/Gemfile.lock +4 -2
  3. data/README.textile +12 -13
  4. data/VERSION +1 -0
  5. data/doc/Dir.html +288 -0
  6. data/doc/Rake/Task.html +184 -0
  7. data/doc/Sprout.html +144 -0
  8. data/doc/Sprout/ArchiveUnpacker.html +1246 -0
  9. data/doc/Sprout/Base.html +126 -0
  10. data/doc/Sprout/Base/ClassMethods.html +434 -0
  11. data/doc/Sprout/Concern.html +353 -0
  12. data/doc/Sprout/Daemon.html +166 -0
  13. data/doc/Sprout/Daemon/ClassMethods.html +244 -0
  14. data/doc/Sprout/Daemon/InstanceMethods.html +601 -0
  15. data/doc/Sprout/Errors.html +101 -0
  16. data/doc/Sprout/Errors/ArchiveUnpackerError.html +125 -0
  17. data/doc/Sprout/Errors/DestinationExistsError.html +133 -0
  18. data/doc/Sprout/Errors/DuplicateMemberError.html +132 -0
  19. data/doc/Sprout/Errors/ExecutableError.html +125 -0
  20. data/doc/Sprout/Errors/ExecutableRegistrationError.html +132 -0
  21. data/doc/Sprout/Errors/ExecutionError.html +121 -0
  22. data/doc/Sprout/Errors/GeneratorError.html +125 -0
  23. data/doc/Sprout/Errors/InvalidArgumentError.html +132 -0
  24. data/doc/Sprout/Errors/LoadError.html +121 -0
  25. data/doc/Sprout/Errors/MissingArgumentError.html +132 -0
  26. data/doc/Sprout/Errors/MissingExecutableError.html +132 -0
  27. data/doc/Sprout/Errors/MissingGeneratorError.html +132 -0
  28. data/doc/Sprout/Errors/MissingTemplateError.html +132 -0
  29. data/doc/Sprout/Errors/ProcessRunnerError.html +121 -0
  30. data/doc/Sprout/Errors/RemoteFileLoaderError.html +110 -0
  31. data/doc/Sprout/Errors/SproutError.html +114 -0
  32. data/doc/Sprout/Errors/UnknownArchiveType.html +122 -0
  33. data/doc/Sprout/Errors/UsageError.html +121 -0
  34. data/doc/Sprout/Errors/ValidationError.html +121 -0
  35. data/doc/Sprout/Errors/VersionRequirementNotMetError.html +121 -0
  36. data/doc/Sprout/Executable.html +173 -0
  37. data/doc/Sprout/Executable/Boolean.html +483 -0
  38. data/doc/Sprout/Executable/ClassMethods.html +417 -0
  39. data/doc/Sprout/Executable/CollectionParam.html +483 -0
  40. data/doc/Sprout/Executable/FileParam.html +484 -0
  41. data/doc/Sprout/Executable/Files.html +292 -0
  42. data/doc/Sprout/Executable/InstanceMethods.html +2006 -0
  43. data/doc/Sprout/Executable/Number.html +141 -0
  44. data/doc/Sprout/Executable/Param.html +2818 -0
  45. data/doc/Sprout/Executable/ParameterFactory.html +232 -0
  46. data/doc/Sprout/Executable/Path.html +223 -0
  47. data/doc/Sprout/Executable/Paths.html +253 -0
  48. data/doc/Sprout/Executable/StringParam.html +213 -0
  49. data/doc/Sprout/Executable/Strings.html +167 -0
  50. data/doc/Sprout/Executable/Url.html +160 -0
  51. data/doc/Sprout/Executable/Urls.html +170 -0
  52. data/doc/Sprout/FileTarget.html +1109 -0
  53. data/doc/Sprout/Generator.html +689 -0
  54. data/doc/Sprout/Generator/Base.html +1626 -0
  55. data/doc/Sprout/Generator/Command.html +690 -0
  56. data/doc/Sprout/Generator/DirectoryManifest.html +476 -0
  57. data/doc/Sprout/Generator/FileManifest.html +572 -0
  58. data/doc/Sprout/Generator/Manifest.html +377 -0
  59. data/doc/Sprout/Generator/TemplateManifest.html +196 -0
  60. data/doc/Sprout/GeneratorGenerator.html +1018 -0
  61. data/doc/Sprout/Library.html +1141 -0
  62. data/doc/Sprout/LibraryGenerator.html +309 -0
  63. data/doc/Sprout/Log.html +496 -0
  64. data/doc/Sprout/MXMLC.html +6373 -0
  65. data/doc/Sprout/Platform.html +714 -0
  66. data/doc/Sprout/ProcessRunner.html +1352 -0
  67. data/doc/Sprout/ProgressBar.html +376 -0
  68. data/doc/Sprout/ProgressBarImpl.html +2119 -0
  69. data/doc/Sprout/ProgressBarManager.html +434 -0
  70. data/doc/Sprout/ProgressBarOutputStream.html +416 -0
  71. data/doc/Sprout/RDocParser.html +211 -0
  72. data/doc/Sprout/RemoteFileLoader.html +172 -0
  73. data/doc/Sprout/RemoteFileTarget.html +679 -0
  74. data/doc/Sprout/ReversedProgressBar.html +194 -0
  75. data/doc/Sprout/RubyFeature.html +155 -0
  76. data/doc/Sprout/RubyFeature/ClassMethods.html +1065 -0
  77. data/doc/Sprout/RubyGenerator.html +764 -0
  78. data/doc/Sprout/Specification.html +767 -0
  79. data/doc/Sprout/System.html +191 -0
  80. data/doc/Sprout/System/BaseSystem.html +1455 -0
  81. data/doc/Sprout/System/JavaSystem.html +122 -0
  82. data/doc/Sprout/System/OSXSystem.html +335 -0
  83. data/doc/Sprout/System/ThreadMock.html +193 -0
  84. data/doc/Sprout/System/UnixSystem.html +584 -0
  85. data/doc/Sprout/System/VistaSystem.html +251 -0
  86. data/doc/Sprout/System/WinNixSystem.html +325 -0
  87. data/doc/Sprout/System/WinSystem.html +571 -0
  88. data/doc/Sprout/ToolGenerator.html +931 -0
  89. data/doc/Sprout/VERSION.html +128 -0
  90. data/doc/SproutTestCase.html +1412 -0
  91. data/doc/String.html +286 -0
  92. data/doc/_index.html +1035 -0
  93. data/doc/class_list.html +36 -0
  94. data/doc/css/common.css +1 -0
  95. data/doc/css/full_list.css +53 -0
  96. data/doc/css/style.css +310 -0
  97. data/doc/file.README.html +96 -0
  98. data/doc/file.archive_unpacker.html +288 -0
  99. data/doc/file.base.html +208 -0
  100. data/doc/file.base_system.html +278 -0
  101. data/doc/file.boolean.html +135 -0
  102. data/doc/file.collection_param.html +139 -0
  103. data/doc/file.command.html +126 -0
  104. data/doc/file.concern.html +136 -0
  105. data/doc/file.daemon.html +309 -0
  106. data/doc/file.dir.html +76 -0
  107. data/doc/file.directory_manifest.html +122 -0
  108. data/doc/file.errors.html +147 -0
  109. data/doc/file.executable.html +638 -0
  110. data/doc/file.file_manifest.html +109 -0
  111. data/doc/file.file_param.html +120 -0
  112. data/doc/file.file_target.html +140 -0
  113. data/doc/file.files.html +85 -0
  114. data/doc/file.generator.html +296 -0
  115. data/doc/file.generator_class.html +72 -0
  116. data/doc/file.generator_generator.html +137 -0
  117. data/doc/file.generator_test.html +92 -0
  118. data/doc/file.generator_test_helper.html +67 -0
  119. data/doc/file.java_system.html +62 -0
  120. data/doc/file.library.html +291 -0
  121. data/doc/file.library_generator.html +74 -0
  122. data/doc/file.log.html +100 -0
  123. data/doc/file.manifest.html +67 -0
  124. data/doc/file.mxmlc.html +740 -0
  125. data/doc/file.number.html +67 -0
  126. data/doc/file.osx_system.html +79 -0
  127. data/doc/file.param.html +491 -0
  128. data/doc/file.parameter_factory.html +119 -0
  129. data/doc/file.path.html +81 -0
  130. data/doc/file.paths.html +80 -0
  131. data/doc/file.platform.html +124 -0
  132. data/doc/file.process_runner.html +224 -0
  133. data/doc/file.progress_bar.html +390 -0
  134. data/doc/file.rdoc_parser.html +145 -0
  135. data/doc/file.remote_file_loader.html +117 -0
  136. data/doc/file.remote_file_target.html +176 -0
  137. data/doc/file.ruby_base.html +64 -0
  138. data/doc/file.ruby_feature.html +244 -0
  139. data/doc/file.ruby_generator.html +118 -0
  140. data/doc/file.ruby_input.html +62 -0
  141. data/doc/file.ruby_test_case.html +78 -0
  142. data/doc/file.ruby_test_helper.html +61 -0
  143. data/doc/file.specification.html +248 -0
  144. data/doc/file.sprout.html +64 -0
  145. data/doc/file.sprout_test_case.html +280 -0
  146. data/doc/file.string.html +72 -0
  147. data/doc/file.string_param.html +76 -0
  148. data/doc/file.strings.html +71 -0
  149. data/doc/file.system.html +86 -0
  150. data/doc/file.template_manifest.html +67 -0
  151. data/doc/file.tool.html +92 -0
  152. data/doc/file.tool_generator.html +90 -0
  153. data/doc/file.unix_system.html +128 -0
  154. data/doc/file.url.html +71 -0
  155. data/doc/file.urls.html +70 -0
  156. data/doc/file.version.html +71 -0
  157. data/doc/file.vista_system.html +69 -0
  158. data/doc/file.win_nix_system.html +88 -0
  159. data/doc/file.win_system.html +129 -0
  160. data/doc/file_list.html +230 -0
  161. data/doc/frames.html +13 -0
  162. data/doc/index.html +96 -0
  163. data/doc/js/app.js +202 -0
  164. data/doc/js/full_list.js +149 -0
  165. data/doc/js/jquery.js +154 -0
  166. data/doc/method_list.html +3355 -0
  167. data/doc/top-level-namespace.html +192 -0
  168. data/lib/sprout/archive_unpacker.rb +203 -137
  169. data/lib/sprout/base.rb +38 -11
  170. data/lib/sprout/concern.rb +51 -0
  171. data/lib/sprout/daemon.rb +256 -0
  172. data/lib/sprout/executable.rb +40 -11
  173. data/lib/sprout/executable/boolean.rb +47 -1
  174. data/lib/sprout/executable/collection_param.rb +33 -1
  175. data/lib/sprout/executable/file_param.rb +16 -3
  176. data/lib/sprout/executable/files.rb +5 -0
  177. data/lib/sprout/executable/number.rb +5 -1
  178. data/lib/sprout/executable/param.rb +232 -16
  179. data/lib/sprout/executable/parameter_factory.rb +39 -1
  180. data/lib/sprout/executable/path.rb +7 -1
  181. data/lib/sprout/executable/paths.rb +6 -1
  182. data/lib/sprout/executable/string_param.rb +8 -1
  183. data/lib/sprout/executable/strings.rb +7 -1
  184. data/lib/sprout/executable/url.rb +8 -1
  185. data/lib/sprout/executable/urls.rb +7 -1
  186. data/lib/sprout/file_target.rb +11 -11
  187. data/lib/sprout/generator.rb +244 -0
  188. data/lib/sprout/generator/base.rb +0 -94
  189. data/lib/sprout/generators/generator/generator_generator.rb +35 -1
  190. data/lib/sprout/generators/generator/templates/generator_class.rb +3 -3
  191. data/lib/sprout/library.rb +75 -0
  192. data/lib/sprout/log.rb +11 -12
  193. data/lib/sprout/process_runner.rb +29 -9
  194. data/lib/sprout/remote_file_target.rb +20 -9
  195. data/lib/sprout/system/base_system.rb +11 -3
  196. data/lib/sprout/test/sprout_test_case.rb +1 -0
  197. data/lib/sprout/version.rb +7 -11
  198. data/rakefile.rb +7 -12
  199. data/script/add_param_handler.rb +43 -0
  200. data/sprout.gemspec +2 -3
  201. data/test/fixtures/executable/fdb.rb +764 -0
  202. data/test/fixtures/executable/flex3sdk_gem/fdb +60 -0
  203. data/test/fixtures/executable/mxmlc.rb +9 -11
  204. data/test/unit/daemon_test.rb +61 -0
  205. data/test/unit/process_runner_test.rb +21 -0
  206. data/test/unit/remote_file_target_test.rb +45 -11
  207. data/test/unit/sprout_test_helper.rb +1 -1
  208. metadata +210 -29
@@ -0,0 +1,390 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta name="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>File: progress_bar</title>
7
+ <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
8
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
9
+
10
+ <script type="text/javascript" charset="utf-8">
11
+ relpath = '';
12
+ if (relpath != '') relpath += '/';
13
+ </script>
14
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
15
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
16
+
17
+ </head>
18
+ <body>
19
+ <script type="text/javascript" charset="utf-8">
20
+ if (window.top.frames.main) document.body.className = 'frames';
21
+ </script>
22
+
23
+ <div id="header">
24
+ <div id="menu">
25
+
26
+ <a href="_index.html" title="Index">Index</a> &raquo;
27
+ <span class="title">File: progress_bar</span>
28
+
29
+
30
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
31
+ </div>
32
+
33
+ <div id="search">
34
+ <a id="class_list_link" href="#">Class List</a>
35
+ <a id="method_list_link" href="#">Method List</a>
36
+ <a id ="file_list_link" href="#">File List</a>
37
+ </div>
38
+
39
+ <div class="clear"></div>
40
+ </div>
41
+
42
+ <iframe id="search_frame"></iframe>
43
+
44
+ <div id="content"><div id='filecontents'>
45
+ <p># Ruby/ProgressBar - a text progress bar library # # Copyright (C)
46
+ 2001-2005 Satoru Takabayashi &lt;satoru@namazu.org&gt; # All rights
47
+ reserved. # This is free software with ABSOLUTELY NO WARRANTY. # # You
48
+ can redistribute it and/or modify it under the terms # of Ruby’s license. #
49
+ # Modified by Luke Bayes to support progress display on # multiple
50
+ simultaneous connections, and to silence output # during test runs. require
51
+ ‘singleton’</p>
52
+
53
+ <p>module Sprout</p>
54
+
55
+ <pre class="code"><span class='kw'>class</span> <span class='const'>ProgressBar</span> <span class='comment'># :nodoc:[all]
56
+ </span> <span class='const'>VERSION</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>0.9</span><span class='tstring_end'>&quot;</span></span>
57
+ <span class='cvar'>@@debug</span> <span class='op'>=</span> <span class='kw'>false</span>
58
+ <span class='cvar'>@@outio</span> <span class='op'>=</span> <span class='gvar'>$stderr</span>
59
+
60
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='id title'>title</span><span class='comma'>,</span> <span class='id total'>total</span><span class='rparen'>)</span>
61
+ <span class='kw'>return</span> <span class='const'>ProgressBarManager</span><span class='period'>.</span><span class='id instance'>instance</span><span class='period'>.</span><span class='id add'>add</span><span class='lparen'>(</span><span class='id title'>title</span><span class='comma'>,</span> <span class='id total'>total</span><span class='rparen'>)</span>
62
+ <span class='kw'>end</span>
63
+
64
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id debug?'>debug?</span>
65
+ <span class='cvar'>@@debug</span>
66
+ <span class='kw'>end</span>
67
+
68
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id debug='>debug=</span><span class='lparen'>(</span><span class='id debug'>debug</span><span class='rparen'>)</span>
69
+ <span class='cvar'>@@debug</span> <span class='op'>=</span> <span class='id debug'>debug</span>
70
+ <span class='kw'>if</span><span class='lparen'>(</span><span class='id debug'>debug</span><span class='rparen'>)</span>
71
+ <span class='cvar'>@@outio</span> <span class='op'>=</span> <span class='const'>StringIO</span><span class='period'>.</span><span class='id new'>new</span>
72
+ <span class='kw'>else</span>
73
+ <span class='cvar'>@@outio</span> <span class='op'>=</span> <span class='gvar'>$stderr</span>
74
+ <span class='kw'>end</span>
75
+ <span class='kw'>end</span>
76
+
77
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id outio'>outio</span>
78
+ <span class='cvar'>@@outio</span>
79
+ <span class='kw'>end</span>
80
+
81
+ <span class='kw'>end</span>
82
+
83
+ <span class='kw'>class</span> <span class='const'>ProgressBarImpl</span> <span class='comment'># :nodoc:[all]
84
+ </span>
85
+ <span class='kw'>def</span> <span class='id initialize'>initialize</span> <span class='lparen'>(</span><span class='id title'>title</span><span class='comma'>,</span> <span class='id total'>total</span><span class='comma'>,</span> <span class='id out'>out</span> <span class='op'>=</span> <span class='const'>STDERR</span><span class='rparen'>)</span>
86
+ <span class='ivar'>@title</span> <span class='op'>=</span> <span class='id title'>title</span>
87
+ <span class='ivar'>@total</span> <span class='op'>=</span> <span class='id total'>total</span>
88
+ <span class='ivar'>@out</span> <span class='op'>=</span> <span class='id out'>out</span>
89
+ <span class='ivar'>@terminal_width</span> <span class='op'>=</span> <span class='int'>80</span>
90
+ <span class='ivar'>@bar_mark</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.</span><span class='tstring_end'>&quot;</span></span>
91
+ <span class='ivar'>@current</span> <span class='op'>=</span> <span class='int'>0</span>
92
+ <span class='ivar'>@previous</span> <span class='op'>=</span> <span class='int'>0</span>
93
+ <span class='ivar'>@finished_p</span> <span class='op'>=</span> <span class='kw'>false</span>
94
+ <span class='ivar'>@start_time</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id now'>now</span>
95
+ <span class='ivar'>@previous_time</span> <span class='op'>=</span> <span class='ivar'>@start_time</span>
96
+ <span class='ivar'>@title_width</span> <span class='op'>=</span> <span class='int'>18</span>
97
+ <span class='ivar'>@format</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%-</span><span class='embexpr_beg'>#{</span><span class='ivar'>@title_width</span><span class='rbrace'>}</span><span class='tstring_content'>s %3d%% %s %s</span><span class='tstring_end'>&quot;</span></span>
98
+ <span class='ivar'>@format_arguments</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='symbol'>:title</span><span class='comma'>,</span> <span class='symbol'>:percentage</span><span class='comma'>,</span> <span class='symbol'>:bar</span><span class='comma'>,</span> <span class='symbol'>:stat</span><span class='rbracket'>]</span>
99
+ <span class='id clear'>clear</span>
100
+ <span class='id show'>show</span>
101
+ <span class='kw'>end</span>
102
+ <span class='id attr_reader'>attr_reader</span> <span class='symbol'>:title</span>
103
+ <span class='id attr_reader'>attr_reader</span> <span class='symbol'>:current</span>
104
+ <span class='id attr_reader'>attr_reader</span> <span class='symbol'>:total</span>
105
+ <span class='id attr_accessor'>attr_accessor</span> <span class='symbol'>:start_time</span><span class='comma'>,</span>
106
+ <span class='symbol'>:title_width</span><span class='comma'>,</span>
107
+ <span class='symbol'>:bar_mark</span>
108
+
109
+ <span class='kw'>def</span> <span class='id fmt_bar'>fmt_bar</span>
110
+ <span class='id bar_width'>bar_width</span> <span class='op'>=</span> <span class='id do_percentage'>do_percentage</span> <span class='op'>*</span> <span class='ivar'>@terminal_width</span> <span class='op'>/</span> <span class='int'>100</span>
111
+ <span class='id sprintf'>sprintf</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>|%s%s|</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
112
+ <span class='ivar'>@bar_mark</span> <span class='op'>*</span> <span class='id bar_width'>bar_width</span><span class='comma'>,</span>
113
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> </span><span class='tstring_end'>&quot;</span></span> <span class='op'>*</span> <span class='lparen'>(</span><span class='ivar'>@terminal_width</span> <span class='op'>-</span> <span class='id bar_width'>bar_width</span><span class='rparen'>)</span><span class='rparen'>)</span>
114
+ <span class='kw'>end</span>
115
+
116
+ <span class='kw'>def</span> <span class='id fmt_percentage'>fmt_percentage</span>
117
+ <span class='id do_percentage'>do_percentage</span>
118
+ <span class='kw'>end</span>
119
+
120
+ <span class='kw'>def</span> <span class='id fmt_stat'>fmt_stat</span>
121
+ <span class='kw'>if</span> <span class='ivar'>@finished_p</span> <span class='kw'>then</span> <span class='id elapsed'>elapsed</span> <span class='kw'>else</span> <span class='id eta'>eta</span> <span class='kw'>end</span>
122
+ <span class='kw'>end</span>
123
+
124
+ <span class='kw'>def</span> <span class='id fmt_stat_for_file_transfer'>fmt_stat_for_file_transfer</span>
125
+ <span class='kw'>if</span> <span class='ivar'>@finished_p</span> <span class='kw'>then</span>
126
+ <span class='id sprintf'>sprintf</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%s %s %s</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id bytes'>bytes</span><span class='comma'>,</span> <span class='id transfer_rate'>transfer_rate</span><span class='comma'>,</span> <span class='id elapsed'>elapsed</span><span class='rparen'>)</span>
127
+ <span class='kw'>else</span>
128
+ <span class='id sprintf'>sprintf</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%s %s %s</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id bytes'>bytes</span><span class='comma'>,</span> <span class='id transfer_rate'>transfer_rate</span><span class='comma'>,</span> <span class='id eta'>eta</span><span class='rparen'>)</span>
129
+ <span class='kw'>end</span>
130
+ <span class='kw'>end</span>
131
+
132
+ <span class='kw'>def</span> <span class='id fmt_title'>fmt_title</span>
133
+ <span class='ivar'>@title</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span><span class='lparen'>(</span><span class='ivar'>@title_width</span> <span class='op'>-</span> <span class='int'>1</span><span class='rparen'>)</span><span class='rbracket'>]</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>:</span><span class='tstring_end'>&quot;</span></span>
134
+ <span class='kw'>end</span>
135
+
136
+ <span class='kw'>def</span> <span class='id convert_bytes'>convert_bytes</span> <span class='lparen'>(</span><span class='id bytes'>bytes</span><span class='rparen'>)</span>
137
+ <span class='kw'>if</span> <span class='id bytes'>bytes</span> <span class='op'>&lt;</span> <span class='int'>1024</span>
138
+ <span class='id sprintf'>sprintf</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%6dB</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id bytes'>bytes</span><span class='rparen'>)</span>
139
+ <span class='kw'>elsif</span> <span class='id bytes'>bytes</span> <span class='op'>&lt;</span> <span class='int'>1024</span> <span class='op'>*</span> <span class='int'>1000</span> <span class='comment'># 1000kb
140
+ </span> <span class='id sprintf'>sprintf</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%5.1fKB</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id bytes'>bytes</span><span class='period'>.</span><span class='id to_f'>to_f</span> <span class='op'>/</span> <span class='int'>1024</span><span class='rparen'>)</span>
141
+ <span class='kw'>elsif</span> <span class='id bytes'>bytes</span> <span class='op'>&lt;</span> <span class='int'>1024</span> <span class='op'>*</span> <span class='int'>1024</span> <span class='op'>*</span> <span class='int'>1000</span> <span class='comment'># 1000mb
142
+ </span> <span class='id sprintf'>sprintf</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%5.1fMB</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id bytes'>bytes</span><span class='period'>.</span><span class='id to_f'>to_f</span> <span class='op'>/</span> <span class='int'>1024</span> <span class='op'>/</span> <span class='int'>1024</span><span class='rparen'>)</span>
143
+ <span class='kw'>else</span>
144
+ <span class='id sprintf'>sprintf</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%5.1fGB</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id bytes'>bytes</span><span class='period'>.</span><span class='id to_f'>to_f</span> <span class='op'>/</span> <span class='int'>1024</span> <span class='op'>/</span> <span class='int'>1024</span> <span class='op'>/</span> <span class='int'>1024</span><span class='rparen'>)</span>
145
+ <span class='kw'>end</span>
146
+ <span class='kw'>end</span>
147
+
148
+ <span class='kw'>def</span> <span class='id transfer_rate'>transfer_rate</span>
149
+ <span class='id bytes_per_second'>bytes_per_second</span> <span class='op'>=</span> <span class='ivar'>@current</span><span class='period'>.</span><span class='id to_f'>to_f</span> <span class='op'>/</span> <span class='lparen'>(</span><span class='const'>Time</span><span class='period'>.</span><span class='id now'>now</span> <span class='op'>-</span> <span class='ivar'>@start_time</span><span class='rparen'>)</span>
150
+ <span class='id sprintf'>sprintf</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%s/s</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id convert_bytes'>convert_bytes</span><span class='lparen'>(</span><span class='id bytes_per_second'>bytes_per_second</span><span class='rparen'>)</span><span class='rparen'>)</span>
151
+ <span class='kw'>end</span>
152
+
153
+ <span class='kw'>def</span> <span class='id bytes'>bytes</span>
154
+ <span class='id convert_bytes'>convert_bytes</span><span class='lparen'>(</span><span class='ivar'>@current</span><span class='rparen'>)</span>
155
+ <span class='kw'>end</span>
156
+
157
+ <span class='kw'>def</span> <span class='id format_time'>format_time</span> <span class='lparen'>(</span><span class='id t'>t</span><span class='rparen'>)</span>
158
+ <span class='id t'>t</span> <span class='op'>=</span> <span class='id t'>t</span><span class='period'>.</span><span class='id to_i'>to_i</span>
159
+ <span class='id sec'>sec</span> <span class='op'>=</span> <span class='id t'>t</span> <span class='op'>%</span> <span class='int'>60</span>
160
+ <span class='id min'>min</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id t'>t</span> <span class='op'>/</span> <span class='int'>60</span><span class='rparen'>)</span> <span class='op'>%</span> <span class='int'>60</span>
161
+ <span class='id hour'>hour</span> <span class='op'>=</span> <span class='id t'>t</span> <span class='op'>/</span> <span class='int'>3600</span>
162
+ <span class='id sprintf'>sprintf</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%02d:%02d:%02d</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id hour'>hour</span><span class='comma'>,</span> <span class='id min'>min</span><span class='comma'>,</span> <span class='id sec'>sec</span><span class='rparen'>)</span>
163
+ <span class='kw'>end</span>
164
+
165
+ <span class='comment'># ETA stands for Estimated Time of Arrival.
166
+ </span> <span class='kw'>def</span> <span class='id eta'>eta</span>
167
+ <span class='kw'>if</span> <span class='ivar'>@current</span> <span class='op'>==</span> <span class='int'>0</span>
168
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>ETA: --:--:--</span><span class='tstring_end'>&quot;</span></span>
169
+ <span class='kw'>else</span>
170
+ <span class='id elapsed_time'>elapsed_time</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id now'>now</span> <span class='op'>-</span> <span class='ivar'>@start_time</span>
171
+ <span class='id estimated_time'>estimated_time</span> <span class='op'>=</span> <span class='id elapsed_time'>elapsed_time</span> <span class='op'>*</span> <span class='ivar'>@total</span> <span class='op'>/</span> <span class='ivar'>@current</span> <span class='op'>-</span> <span class='id elapsed_time'>elapsed_time</span>
172
+ <span class='id sprintf'>sprintf</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>ETA: %s</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id format_time'>format_time</span><span class='lparen'>(</span><span class='id estimated_time'>estimated_time</span><span class='rparen'>)</span><span class='rparen'>)</span>
173
+ <span class='kw'>end</span>
174
+ <span class='kw'>end</span>
175
+
176
+ <span class='kw'>def</span> <span class='id elapsed'>elapsed</span>
177
+ <span class='id elapsed_time'>elapsed_time</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id now'>now</span> <span class='op'>-</span> <span class='ivar'>@start_time</span>
178
+ <span class='id sprintf'>sprintf</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Time: %s</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id format_time'>format_time</span><span class='lparen'>(</span><span class='id elapsed_time'>elapsed_time</span><span class='rparen'>)</span><span class='rparen'>)</span>
179
+ <span class='kw'>end</span>
180
+
181
+ <span class='kw'>def</span> <span class='id eol'>eol</span>
182
+ <span class='kw'>if</span> <span class='ivar'>@finished_p</span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>else</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\r</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>end</span>
183
+ <span class='kw'>end</span>
184
+
185
+ <span class='kw'>def</span> <span class='id do_percentage'>do_percentage</span>
186
+ <span class='kw'>if</span> <span class='ivar'>@total</span><span class='period'>.</span><span class='id zero?'>zero?</span>
187
+ <span class='int'>100</span>
188
+ <span class='kw'>else</span>
189
+ <span class='ivar'>@current</span> <span class='op'>*</span> <span class='int'>100</span> <span class='op'>/</span> <span class='ivar'>@total</span>
190
+ <span class='kw'>end</span>
191
+ <span class='kw'>end</span>
192
+
193
+ <span class='kw'>def</span> <span class='id get_width'>get_width</span>
194
+ <span class='comment'># return 80
195
+ </span> <span class='comment'># FIXME: I don't know how portable it is.
196
+ </span> <span class='id default_width'>default_width</span> <span class='op'>=</span> <span class='int'>80</span>
197
+ <span class='kw'>begin</span>
198
+ <span class='id tiocgwinsz'>tiocgwinsz</span> <span class='op'>=</span> <span class='int'>0x5413</span>
199
+ <span class='id data'>data</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>0</span><span class='comma'>,</span> <span class='int'>0</span><span class='comma'>,</span> <span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id pack'>pack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>SSSS</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
200
+ <span class='kw'>if</span> <span class='ivar'>@out</span><span class='period'>.</span><span class='id ioctl'>ioctl</span><span class='lparen'>(</span><span class='id tiocgwinsz'>tiocgwinsz</span><span class='comma'>,</span> <span class='id data'>data</span><span class='rparen'>)</span> <span class='op'>&gt;=</span> <span class='int'>0</span> <span class='kw'>then</span>
201
+ <span class='id unpacked'>unpacked</span> <span class='op'>=</span> <span class='id data'>data</span><span class='period'>.</span><span class='id unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>SSSS</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
202
+ <span class='id cols'>cols</span> <span class='op'>=</span> <span class='id unpacked'>unpacked</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
203
+ <span class='comment'># Commented this because Aptana was complaining about
204
+ </span> <span class='comment'># The unused variables
205
+ </span> <span class='comment'># rows, cols, xpixels, ypixels = data.unpack(&quot;SSSS&quot;)
206
+ </span> <span class='kw'>if</span> <span class='id cols'>cols</span> <span class='op'>&gt;=</span> <span class='int'>0</span> <span class='kw'>then</span> <span class='id cols'>cols</span> <span class='kw'>else</span> <span class='id default_width'>default_width</span> <span class='kw'>end</span>
207
+ <span class='kw'>else</span>
208
+ <span class='id default_width'>default_width</span>
209
+ <span class='kw'>end</span>
210
+ <span class='kw'>rescue</span> <span class='const'>Exception</span>
211
+ <span class='id default_width'>default_width</span>
212
+ <span class='kw'>end</span>
213
+ <span class='kw'>end</span>
214
+
215
+ <span class='kw'>def</span> <span class='id show'>show</span>
216
+ <span class='id arguments'>arguments</span> <span class='op'>=</span> <span class='ivar'>@format_arguments</span><span class='period'>.</span><span class='id map'>map</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id method'>method</span><span class='op'>|</span>
217
+ <span class='id method'>method</span> <span class='op'>=</span> <span class='id sprintf'>sprintf</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>fmt_%s</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id method'>method</span><span class='rparen'>)</span>
218
+ <span class='id send'>send</span><span class='lparen'>(</span><span class='id method'>method</span><span class='rparen'>)</span>
219
+ <span class='kw'>end</span>
220
+ <span class='id line'>line</span> <span class='op'>=</span> <span class='id sprintf'>sprintf</span><span class='lparen'>(</span><span class='ivar'>@format</span><span class='comma'>,</span> <span class='op'>*</span><span class='id arguments'>arguments</span><span class='rparen'>)</span>
221
+
222
+ <span class='id width'>width</span> <span class='op'>=</span> <span class='id get_width'>get_width</span>
223
+ <span class='kw'>if</span><span class='lparen'>(</span><span class='id line'>line</span><span class='period'>.</span><span class='id length'>length</span> <span class='op'>==</span> <span class='id width'>width</span> <span class='op'>-</span> <span class='int'>1</span><span class='rparen'>)</span>
224
+ <span class='ivar'>@out</span><span class='period'>.</span><span class='id print'>print</span><span class='lparen'>(</span><span class='id line'>line</span> <span class='op'>+</span> <span class='id eol'>eol</span><span class='rparen'>)</span>
225
+ <span class='ivar'>@out</span><span class='period'>.</span><span class='id flush'>flush</span>
226
+ <span class='kw'>elsif</span><span class='lparen'>(</span><span class='id line'>line</span><span class='period'>.</span><span class='id length'>length</span> <span class='op'>&gt;=</span> <span class='id width'>width</span><span class='rparen'>)</span>
227
+ <span class='ivar'>@terminal_width</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='ivar'>@terminal_width</span> <span class='op'>-</span> <span class='lparen'>(</span><span class='id line'>line</span><span class='period'>.</span><span class='id length'>length</span> <span class='op'>-</span> <span class='id width'>width</span> <span class='op'>+</span> <span class='int'>1</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id max'>max</span>
228
+ <span class='kw'>if</span> <span class='ivar'>@terminal_width</span> <span class='op'>==</span> <span class='int'>0</span> <span class='kw'>then</span> <span class='ivar'>@out</span><span class='period'>.</span><span class='id print'>print</span><span class='lparen'>(</span><span class='id line'>line</span> <span class='op'>+</span> <span class='id eol'>eol</span><span class='rparen'>)</span> <span class='kw'>else</span> <span class='id show'>show</span> <span class='kw'>end</span>
229
+ <span class='kw'>else</span> <span class='comment'># line.length &lt; width - 1
230
+ </span> <span class='ivar'>@terminal_width</span> <span class='op'>+=</span> <span class='id width'>width</span> <span class='op'>-</span> <span class='id line'>line</span><span class='period'>.</span><span class='id length'>length</span> <span class='op'>+</span> <span class='int'>1</span>
231
+ <span class='id show'>show</span>
232
+ <span class='kw'>end</span>
233
+ <span class='ivar'>@previous_time</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id now'>now</span>
234
+ <span class='kw'>end</span>
235
+
236
+ <span class='kw'>def</span> <span class='id show_if_needed'>show_if_needed</span>
237
+ <span class='kw'>if</span> <span class='ivar'>@total</span><span class='period'>.</span><span class='id zero?'>zero?</span>
238
+ <span class='id cur_percentage'>cur_percentage</span> <span class='op'>=</span> <span class='int'>100</span>
239
+ <span class='id prev_percentage'>prev_percentage</span> <span class='op'>=</span> <span class='int'>0</span>
240
+ <span class='kw'>else</span>
241
+ <span class='id cur_percentage'>cur_percentage</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='ivar'>@current</span> <span class='op'>*</span> <span class='int'>100</span> <span class='op'>/</span> <span class='ivar'>@total</span><span class='rparen'>)</span><span class='period'>.</span><span class='id to_i'>to_i</span>
242
+ <span class='id prev_percentage'>prev_percentage</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='ivar'>@previous</span> <span class='op'>*</span> <span class='int'>100</span> <span class='op'>/</span> <span class='ivar'>@total</span><span class='rparen'>)</span><span class='period'>.</span><span class='id to_i'>to_i</span>
243
+ <span class='kw'>end</span>
244
+
245
+ <span class='comment'># Use &quot;!=&quot; instead of &quot;&gt;&quot; to support negative changes
246
+ </span> <span class='kw'>if</span> <span class='id cur_percentage'>cur_percentage</span> <span class='op'>!=</span> <span class='id prev_percentage'>prev_percentage</span> <span class='op'>||</span>
247
+ <span class='const'>Time</span><span class='period'>.</span><span class='id now'>now</span> <span class='op'>-</span> <span class='ivar'>@previous_time</span> <span class='op'>&gt;=</span> <span class='int'>1</span> <span class='op'>||</span> <span class='ivar'>@finished_p</span>
248
+ <span class='id show'>show</span>
249
+ <span class='kw'>end</span>
250
+ <span class='kw'>end</span>
251
+
252
+ <span class='id public'>public</span>
253
+ <span class='kw'>def</span> <span class='id clear'>clear</span>
254
+ <span class='ivar'>@out</span><span class='period'>.</span><span class='id print'>print</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\r</span><span class='tstring_end'>&quot;</span></span>
255
+ <span class='ivar'>@out</span><span class='period'>.</span><span class='id print'>print</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> </span><span class='tstring_end'>&quot;</span></span> <span class='op'>*</span> <span class='lparen'>(</span><span class='id get_width'>get_width</span> <span class='op'>-</span> <span class='int'>1</span><span class='rparen'>)</span><span class='rparen'>)</span>
256
+ <span class='ivar'>@out</span><span class='period'>.</span><span class='id print'>print</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\r</span><span class='tstring_end'>&quot;</span></span>
257
+ <span class='kw'>end</span>
258
+
259
+ <span class='kw'>def</span> <span class='id finish'>finish</span>
260
+ <span class='ivar'>@current</span> <span class='op'>=</span> <span class='ivar'>@total</span>
261
+ <span class='ivar'>@finished_p</span> <span class='op'>=</span> <span class='kw'>true</span>
262
+ <span class='id show'>show</span>
263
+ <span class='kw'>end</span>
264
+
265
+ <span class='kw'>def</span> <span class='id finished?'>finished?</span>
266
+ <span class='ivar'>@finished_p</span>
267
+ <span class='kw'>end</span>
268
+
269
+ <span class='kw'>def</span> <span class='id file_transfer_mode'>file_transfer_mode</span>
270
+ <span class='ivar'>@format_arguments</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='symbol'>:title</span><span class='comma'>,</span> <span class='symbol'>:percentage</span><span class='comma'>,</span> <span class='symbol'>:bar</span><span class='comma'>,</span> <span class='symbol'>:stat_for_file_transfer</span><span class='rbracket'>]</span>
271
+ <span class='kw'>end</span>
272
+
273
+ <span class='kw'>def</span> <span class='id format='>format=</span> <span class='lparen'>(</span><span class='id format'>format</span><span class='rparen'>)</span>
274
+ <span class='ivar'>@format</span> <span class='op'>=</span> <span class='id format'>format</span>
275
+ <span class='kw'>end</span>
276
+
277
+ <span class='kw'>def</span> <span class='id format_arguments='>format_arguments=</span> <span class='lparen'>(</span><span class='id arguments'>arguments</span><span class='rparen'>)</span>
278
+ <span class='ivar'>@format_arguments</span> <span class='op'>=</span> <span class='id arguments'>arguments</span>
279
+ <span class='kw'>end</span>
280
+
281
+ <span class='kw'>def</span> <span class='id halt'>halt</span>
282
+ <span class='ivar'>@finished_p</span> <span class='op'>=</span> <span class='kw'>true</span>
283
+ <span class='id show'>show</span>
284
+ <span class='kw'>end</span>
285
+
286
+ <span class='kw'>def</span> <span class='id inc'>inc</span> <span class='lparen'>(</span><span class='id step'>step</span> <span class='op'>=</span> <span class='int'>1</span><span class='rparen'>)</span>
287
+ <span class='ivar'>@current</span> <span class='op'>+=</span> <span class='id step'>step</span>
288
+ <span class='ivar'>@current</span> <span class='op'>=</span> <span class='ivar'>@total</span> <span class='kw'>if</span> <span class='ivar'>@current</span> <span class='op'>&gt;</span> <span class='ivar'>@total</span>
289
+ <span class='id show_if_needed'>show_if_needed</span>
290
+ <span class='ivar'>@previous</span> <span class='op'>=</span> <span class='ivar'>@current</span>
291
+ <span class='kw'>end</span>
292
+
293
+ <span class='kw'>def</span> <span class='id set'>set</span> <span class='lparen'>(</span><span class='id count'>count</span><span class='rparen'>)</span>
294
+ <span class='kw'>if</span> <span class='id count'>count</span> <span class='op'>&lt;</span> <span class='int'>0</span> <span class='op'>||</span> <span class='id count'>count</span> <span class='op'>&gt;</span> <span class='ivar'>@total</span>
295
+ <span class='ivar'>@total</span> <span class='op'>=</span> <span class='id count'>count</span>
296
+ <span class='kw'>end</span>
297
+ <span class='ivar'>@current</span> <span class='op'>=</span> <span class='id count'>count</span>
298
+ <span class='id show_if_needed'>show_if_needed</span>
299
+ <span class='ivar'>@previous</span> <span class='op'>=</span> <span class='ivar'>@current</span>
300
+ <span class='kw'>end</span>
301
+
302
+ <span class='kw'>def</span> <span class='id inspect'>inspect</span>
303
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>#&lt;ProgressBar:</span><span class='embexpr_beg'>#{</span><span class='ivar'>@current</span><span class='rbrace'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='ivar'>@total</span><span class='rbrace'>}</span><span class='tstring_content'>&gt;</span><span class='tstring_end'>&quot;</span></span>
304
+ <span class='kw'>end</span>
305
+ <span class='kw'>end</span>
306
+
307
+ <span class='kw'>class</span> <span class='const'>ReversedProgressBar</span> <span class='op'>&lt;</span> <span class='const'>ProgressBar</span> <span class='comment'># :nodoc:[all]
308
+ </span> <span class='kw'>def</span> <span class='id do_percentage'>do_percentage</span>
309
+ <span class='int'>100</span> <span class='op'>-</span> <span class='kw'>super</span>
310
+ <span class='kw'>end</span>
311
+ <span class='kw'>end</span>
312
+
313
+ <span class='kw'>class</span> <span class='const'>ProgressBarOutputStream</span> <span class='comment'># :nodoc:[all]
314
+ </span> <span class='id attr_reader'>attr_reader</span> <span class='symbol'>:title</span>
315
+
316
+ <span class='kw'>def</span> <span class='id initialize'>initialize</span><span class='lparen'>(</span><span class='id mgr'>mgr</span><span class='rparen'>)</span>
317
+ <span class='ivar'>@mgr</span> <span class='op'>=</span> <span class='id mgr'>mgr</span>
318
+ <span class='ivar'>@msg</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span>
319
+ <span class='kw'>end</span>
320
+
321
+ <span class='kw'>def</span> <span class='id print'>print</span><span class='lparen'>(</span><span class='id msg'>msg</span><span class='rparen'>)</span>
322
+ <span class='ivar'>@msg</span> <span class='op'>=</span> <span class='id msg'>msg</span>
323
+ <span class='kw'>end</span>
324
+
325
+ <span class='kw'>def</span> <span class='id flush'>flush</span>
326
+ <span class='ivar'>@mgr</span><span class='period'>.</span><span class='id flush'>flush</span>
327
+ <span class='kw'>end</span>
328
+
329
+ <span class='kw'>def</span> <span class='id to_s'>to_s</span>
330
+ <span class='kw'>return</span> <span class='ivar'>@msg</span><span class='period'>.</span><span class='id clone'>clone</span><span class='period'>.</span><span class='id split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\r</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
331
+ <span class='kw'>end</span>
332
+
333
+ <span class='kw'>end</span>
334
+
335
+ <span class='kw'>class</span> <span class='const'>ProgressBarManager</span> <span class='comment'># :nodoc:[all]
336
+ </span> <span class='id include'>include</span> <span class='const'>Singleton</span>
337
+
338
+ <span class='kw'>def</span> <span class='id initialize'>initialize</span>
339
+ <span class='ivar'>@finished</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
340
+ <span class='ivar'>@bars</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
341
+ <span class='ivar'>@outs</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
342
+ <span class='kw'>end</span>
343
+
344
+ <span class='kw'>def</span> <span class='id add'>add</span><span class='lparen'>(</span><span class='id title'>title</span><span class='comma'>,</span> <span class='id total1'>total1</span><span class='rparen'>)</span>
345
+ <span class='comment'># if(@bars[title])
346
+ </span><span class='comment'># raise StandardError.new
347
+ </span><span class='comment'># end
348
+ </span> <span class='ivar'>@outs</span><span class='lbracket'>[</span><span class='id title'>title</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>ProgressBarOutputStream</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='rparen'>)</span>
349
+ <span class='ivar'>@bars</span><span class='lbracket'>[</span><span class='id title'>title</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>ProgressBarImpl</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='id title'>title</span><span class='comma'>,</span> <span class='id total1'>total1</span><span class='comma'>,</span> <span class='ivar'>@outs</span><span class='lbracket'>[</span><span class='id title'>title</span><span class='rbracket'>]</span><span class='rparen'>)</span>
350
+ <span class='kw'>end</span>
351
+
352
+ <span class='kw'>def</span> <span class='id print'>print</span><span class='lparen'>(</span><span class='id title'>title</span><span class='rparen'>)</span>
353
+ <span class='id str'>str</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span>
354
+ <span class='id str'>str</span> <span class='op'>+=</span> <span class='ivar'>@outs</span><span class='lbracket'>[</span><span class='id title'>title</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id to_s'>to_s</span>
355
+ <span class='id str'>str</span> <span class='op'>+=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\r</span><span class='tstring_end'>&quot;</span></span>
356
+ <span class='id outio'>outio</span><span class='period'>.</span><span class='id print'>print</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\r</span><span class='tstring_end'>&quot;</span></span>
357
+ <span class='id outio'>outio</span><span class='period'>.</span><span class='id print'>print</span> <span class='id str'>str</span>
358
+ <span class='kw'>end</span>
359
+
360
+ <span class='kw'>def</span> <span class='id outio'>outio</span>
361
+ <span class='const'>ProgressBar</span><span class='period'>.</span><span class='id outio'>outio</span>
362
+ <span class='kw'>end</span>
363
+
364
+ <span class='kw'>def</span> <span class='id flush'>flush</span>
365
+ <span class='ivar'>@bars</span><span class='period'>.</span><span class='id keys'>keys</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id title'>title</span><span class='op'>|</span>
366
+ <span class='id print'>print</span><span class='lparen'>(</span><span class='id title'>title</span><span class='rparen'>)</span>
367
+ <span class='kw'>end</span>
368
+
369
+ <span class='ivar'>@bars</span><span class='period'>.</span><span class='id values'>values</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id bar'>bar</span><span class='op'>|</span>
370
+ <span class='kw'>if</span><span class='lparen'>(</span><span class='id bar'>bar</span><span class='period'>.</span><span class='id finished?'>finished?</span><span class='rparen'>)</span>
371
+ <span class='id print'>print</span><span class='lparen'>(</span><span class='id bar'>bar</span><span class='period'>.</span><span class='id title'>title</span><span class='rparen'>)</span>
372
+ <span class='id outio'>outio</span><span class='period'>.</span><span class='id print'>print</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span>
373
+ <span class='ivar'>@outs</span><span class='period'>.</span><span class='id delete'>delete</span><span class='lparen'>(</span><span class='id bar'>bar</span><span class='period'>.</span><span class='id title'>title</span><span class='rparen'>)</span>
374
+ <span class='ivar'>@bars</span><span class='period'>.</span><span class='id delete'>delete</span><span class='lparen'>(</span><span class='id bar'>bar</span><span class='period'>.</span><span class='id title'>title</span><span class='rparen'>)</span>
375
+ <span class='kw'>end</span>
376
+ <span class='kw'>end</span>
377
+ <span class='kw'>end</span>
378
+ <span class='kw'>end</span></pre>
379
+
380
+ <p>end</p>
381
+ </div></div>
382
+
383
+ <div id="footer">
384
+ Generated on Wed Dec 22 11:58:32 2010 by
385
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
386
+ 0.6.3 (ruby-1.9.2).
387
+ </div>
388
+
389
+ </body>
390
+ </html>
@@ -0,0 +1,145 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta name="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>File: rdoc_parser</title>
7
+ <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
8
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
9
+
10
+ <script type="text/javascript" charset="utf-8">
11
+ relpath = '';
12
+ if (relpath != '') relpath += '/';
13
+ </script>
14
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
15
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
16
+
17
+ </head>
18
+ <body>
19
+ <script type="text/javascript" charset="utf-8">
20
+ if (window.top.frames.main) document.body.className = 'frames';
21
+ </script>
22
+
23
+ <div id="header">
24
+ <div id="menu">
25
+
26
+ <a href="_index.html" title="Index">Index</a> &raquo;
27
+ <span class="title">File: rdoc_parser</span>
28
+
29
+
30
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
31
+ </div>
32
+
33
+ <div id="search">
34
+ <a id="class_list_link" href="#">Class List</a>
35
+ <a id="method_list_link" href="#">Method List</a>
36
+ <a id ="file_list_link" href="#">File List</a>
37
+ </div>
38
+
39
+ <div class="clear"></div>
40
+ </div>
41
+
42
+ <iframe id="search_frame"></iframe>
43
+
44
+ <div id="content"><div id='filecontents'>
45
+ <p>require ‘rdoc/rdoc’</p>
46
+
47
+ <p>module Sprout</p>
48
+
49
+ <pre class="code"><span class='kw'>class</span> <span class='const'>RDocParser</span>
50
+
51
+ <span class='kw'>def</span> <span class='id parse'>parse</span> <span class='id content'>content</span>
52
+ <span class='kw'>end</span>
53
+
54
+ <span class='kw'>def</span> <span class='id parse_from_caller_string'>parse_from_caller_string</span> <span class='id caller_string'>caller_string</span>
55
+ <span class='id class_name'>class_name</span><span class='comma'>,</span> <span class='id file_name'>file_name</span><span class='comma'>,</span> <span class='id line_number'>line_number</span> <span class='op'>=</span> <span class='id parse_caller_string'>parse_caller_string</span> <span class='id caller_string'>caller_string</span>
56
+ <span class='id rdoc_description_for'>rdoc_description_for</span> <span class='id class_name'>class_name</span><span class='comma'>,</span> <span class='id file_name'>file_name</span><span class='comma'>,</span> <span class='id line_number'>line_number</span>
57
+ <span class='kw'>end</span>
58
+
59
+ <span class='id private'>private</span>
60
+
61
+ <span class='comment'>##
62
+ </span> <span class='comment'># NOTE: Don't forget that this string *sometimes* contains a colon on Windows...
63
+ </span> <span class='kw'>def</span> <span class='id parse_caller_string'>parse_caller_string</span> <span class='id caller_string'>caller_string</span>
64
+ <span class='id sections'>sections</span> <span class='op'>=</span> <span class='id caller_string'>caller_string</span><span class='period'>.</span><span class='id split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'> </span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
65
+ <span class='id parts'>parts</span> <span class='op'>=</span> <span class='id sections'>sections</span><span class='period'>.</span><span class='id first'>first</span><span class='period'>.</span><span class='id split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>:</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
66
+ <span class='id file_name'>file_name</span> <span class='op'>=</span> <span class='id parts'>parts</span><span class='period'>.</span><span class='id shift'>shift</span>
67
+ <span class='id line_number'>line_number</span> <span class='op'>=</span> <span class='id parts'>parts</span><span class='period'>.</span><span class='id shift'>shift</span>
68
+ <span class='id class_name'>class_name</span> <span class='op'>=</span> <span class='id class_name_from_caller_string'>class_name_from_caller_string</span> <span class='id caller_string'>caller_string</span>
69
+ <span class='comment'>#puts &quot;&gt;&gt; class_name: #{class_name} file_name: #{file_name} line_number: #{line_number}&quot;
70
+ </span> <span class='lbracket'>[</span><span class='id class_name'>class_name</span><span class='comma'>,</span> <span class='id file_name'>file_name</span><span class='comma'>,</span> <span class='id line_number'>line_number</span><span class='rbracket'>]</span>
71
+ <span class='kw'>end</span>
72
+
73
+ <span class='kw'>def</span> <span class='id class_name_from_caller_string'>class_name_from_caller_string</span> <span class='id caller_string'>caller_string</span>
74
+ <span class='id parts'>parts</span> <span class='op'>=</span> <span class='id caller_string'>caller_string</span><span class='period'>.</span><span class='id split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'> </span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
75
+ <span class='id long'>long</span> <span class='op'>=</span> <span class='id parts'>parts</span><span class='period'>.</span><span class='id pop'>pop</span>
76
+ <span class='id matched'>matched</span> <span class='op'>=</span> <span class='id long'>long</span><span class='period'>.</span><span class='id match'>match</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>&lt;class:([\w:]+)&gt;</span><span class='regexp_end'>/</span></span>
77
+ <span class='id matched'>matched</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>unless</span> <span class='id matched'>matched</span><span class='period'>.</span><span class='id nil?'>nil?</span>
78
+ <span class='kw'>end</span>
79
+
80
+ <span class='kw'>def</span> <span class='id rdoc_description_for'>rdoc_description_for</span> <span class='id class_name'>class_name</span><span class='comma'>,</span> <span class='id file_name'>file_name</span><span class='comma'>,</span> <span class='id line_number'>line_number</span>
81
+ <span class='id rendered'>rendered</span> <span class='op'>=</span> <span class='id rendered_rdoc'>rendered_rdoc</span> <span class='id file_name'>file_name</span>
82
+ <span class='kw'>end</span>
83
+
84
+ <span class='kw'>def</span> <span class='id rendered_rdoc'>rendered_rdoc</span> <span class='id file'>file</span>
85
+ <span class='ivar'>@rendered_rdoc</span> <span class='op'>||=</span> <span class='id render_rdoc'>render_rdoc</span> <span class='id file'>file</span>
86
+ <span class='kw'>end</span>
87
+
88
+ <span class='kw'>def</span> <span class='id render_rdoc'>render_rdoc</span> <span class='id file'>file</span>
89
+ <span class='id rdoc'>rdoc</span> <span class='op'>=</span> <span class='const'>RDoc</span><span class='op'>::</span><span class='const'>RDoc</span><span class='period'>.</span><span class='id new'>new</span>
90
+ <span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>===================================</span><span class='tstring_end'>&quot;</span></span>
91
+ <span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>&gt;&gt; generating rdoc for: </span><span class='embexpr_beg'>#{</span><span class='id file'>file</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
92
+
93
+ <span class='id rdoc'>rdoc</span><span class='period'>.</span><span class='id document'>document</span> <span class='lbracket'>[</span> <span class='id file'>file</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>--format=xml</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>--output=temp</span><span class='tstring_end'>&quot;</span></span> <span class='rbracket'>]</span>
94
+ <span class='lbrace'>{</span><span class='rbrace'>}</span>
95
+ <span class='kw'>end</span>
96
+
97
+ <span class='kw'>def</span> <span class='id render_rdoc_from_files'>render_rdoc_from_files</span>
98
+ <span class='comment'># This works to some extent...
99
+ </span> <span class='comment'>#rdoc test/fixtures/examples/echo_inputs.rb --fmt=xml --op=tmp --all -q
100
+ </span> <span class='comment'># But the following does not do the same thing:
101
+ </span> <span class='comment'>#response = rdoc.document [ file, '--fmt=xml', '--op=tmp', '--all', '-q' ]
102
+ </span>
103
+ <span class='id options'>options</span> <span class='op'>=</span> <span class='const'>RDoc</span><span class='op'>::</span><span class='const'>Options</span><span class='period'>.</span><span class='id new'>new</span>
104
+ <span class='id options'>options</span><span class='period'>.</span><span class='id files'>files</span> <span class='op'>=</span> <span class='const'>FileList</span><span class='lbracket'>[</span> <span class='id file'>file</span> <span class='rbracket'>]</span>
105
+ <span class='id options'>options</span><span class='period'>.</span><span class='id formatter'>formatter</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>markup</span><span class='tstring_end'>'</span></span>
106
+ <span class='id options'>options</span><span class='period'>.</span><span class='id op_dir'>op_dir</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>./tmp</span><span class='tstring_end'>'</span></span>
107
+ <span class='id options'>options</span><span class='period'>.</span><span class='id verbosity'>verbosity</span> <span class='op'>=</span> <span class='int'>0</span>
108
+
109
+ <span class='id rdoc'>rdoc</span><span class='period'>.</span><span class='id options'>options</span> <span class='op'>=</span> <span class='id options'>options</span>
110
+
111
+ <span class='comment'>#rdoc.stats = RDoc::Stats.new 1, options.verbosity
112
+ </span> <span class='comment'>#response = rdoc.document []
113
+ </span>
114
+ <span class='id response'>response</span> <span class='op'>=</span> <span class='id rdoc'>rdoc</span><span class='period'>.</span><span class='id parse_files'>parse_files</span> <span class='lbracket'>[</span> <span class='id file'>file</span> <span class='rbracket'>]</span>
115
+ <span class='id render_rdoc_toplevel'>render_rdoc_toplevel</span> <span class='id response'>response</span>
116
+ <span class='kw'>end</span>
117
+
118
+ <span class='kw'>def</span> <span class='id render_rdoc_toplevel'>render_rdoc_toplevel</span> <span class='id toplevel'>toplevel</span>
119
+ <span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>&gt;&gt; toplevel: </span><span class='embexpr_beg'>#{</span><span class='id toplevel'>toplevel</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
120
+ <span class='id toplevel'>toplevel</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id file'>file</span><span class='op'>|</span>
121
+ <span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>&gt;&gt; file: </span><span class='embexpr_beg'>#{</span><span class='id file'>file</span><span class='period'>.</span><span class='id name'>name</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
122
+ <span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>&gt;&gt; pretty: </span><span class='embexpr_beg'>#{</span><span class='id file'>file</span><span class='period'>.</span><span class='id pretty_print'>pretty_print</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
123
+ <span class='kw'>end</span>
124
+
125
+ <span class='id toplevel'>toplevel</span>
126
+ <span class='kw'>end</span>
127
+
128
+ <span class='kw'>def</span> <span class='id render_rdoc_bak'>render_rdoc_bak</span> <span class='id file'>file</span>
129
+ <span class='id rdoc'>rdoc</span> <span class='op'>=</span> <span class='const'>RDoc</span><span class='op'>::</span><span class='const'>RDoc</span><span class='period'>.</span><span class='id new'>new</span>
130
+ <span class='id rdoc'>rdoc</span><span class='period'>.</span><span class='id options'>options</span> <span class='op'>=</span> <span class='const'>RDoc</span><span class='op'>::</span><span class='const'>Options</span><span class='period'>.</span><span class='id new'>new</span>
131
+ <span class='id rdoc'>rdoc</span><span class='period'>.</span><span class='id parse_files'>parse_files</span> <span class='lbracket'>[</span><span class='id file'>file</span><span class='rbracket'>]</span>
132
+ <span class='kw'>end</span>
133
+ <span class='kw'>end</span></pre>
134
+
135
+ <p>end</p>
136
+ </div></div>
137
+
138
+ <div id="footer">
139
+ Generated on Wed Dec 22 11:58:32 2010 by
140
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
141
+ 0.6.3 (ruby-1.9.2).
142
+ </div>
143
+
144
+ </body>
145
+ </html>