sprout 1.0.35.pre → 1.1.2.pre
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of sprout might be problematic. Click here for more details.
- data/Gemfile +1 -1
- data/Gemfile.lock +0 -2
- data/README.textile +1 -1
- data/VERSION +1 -1
- data/lib/sprout/concern.rb +5 -7
- data/lib/sprout/daemon.rb +183 -143
- data/lib/sprout/executable/base.rb +564 -0
- data/lib/sprout/executable.rb +1 -550
- data/lib/sprout/generator/base.rb +2 -3
- data/lib/sprout/generator.rb +2 -1
- data/lib/sprout/generators/ruby/templates/ruby_base.rb +1 -2
- data/lib/sprout/library.rb +3 -3
- data/lib/sprout/output_buffer.rb +35 -0
- data/lib/sprout/process_runner.rb +68 -17
- data/lib/sprout/progress_bar.rb +5 -5
- data/lib/sprout/remote_file_target.rb +1 -1
- data/lib/sprout/system/base_system.rb +3 -3
- data/lib/sprout/system/unix_system.rb +1 -1
- data/lib/sprout/{test/sprout_test_case.rb → test_helper.rb} +214 -14
- data/lib/sprout/version.rb +1 -1
- data/lib/sprout.rb +133 -2
- data/rakefile.rb +2 -0
- data/test/fixtures/examples/echo_inputs.rb +1 -2
- data/test/fixtures/executable/fdb.rb +7 -9
- data/test/fixtures/executable/flex3sdk_gem/fdb +49 -18
- data/test/fixtures/executable/mxmlc.rb +1 -2
- data/test/fixtures/executable/subclass/executable_subclass.rb +0 -1
- data/test/fixtures/executable/subclass/executable_superclass.rb +1 -2
- data/test/fixtures/specification/flex4sdk.rb +35 -24
- data/test/unit/archive_unpacker_test.rb +1 -1
- data/test/unit/boolean_param_test.rb +1 -1
- data/test/unit/daemon_test.rb +35 -3
- data/test/unit/executable_option_parser_test.rb +2 -3
- data/test/unit/executable_param_test.rb +1 -1
- data/test/unit/executable_test.rb +8 -15
- data/test/unit/fake_other_executable.rb +1 -2
- data/test/unit/file_param_test.rb +1 -1
- data/test/unit/file_target_test.rb +1 -1
- data/test/unit/files_param_test.rb +1 -1
- data/test/unit/generator_generator_test.rb +1 -1
- data/test/unit/generator_test.rb +1 -1
- data/test/unit/library_generator_test.rb +1 -1
- data/test/unit/library_test.rb +1 -1
- data/test/unit/osx_system_test.rb +1 -1
- data/test/unit/path_param_test.rb +1 -1
- data/test/unit/paths_param_test.rb +1 -1
- data/test/unit/platform_test.rb +1 -1
- data/test/unit/process_runner_test.rb +1 -1
- data/test/unit/rdoc_parser_test.rb +1 -1
- data/test/unit/remote_file_loader_test.rb +1 -1
- data/test/unit/remote_file_target_test.rb +1 -1
- data/test/unit/ruby_feature_test.rb +1 -1
- data/test/unit/ruby_generator_test.rb +1 -1
- data/test/unit/specification_test.rb +8 -1
- data/test/unit/sprout_test.rb +2 -2
- data/test/unit/string_param_test.rb +1 -1
- data/test/unit/string_test.rb +1 -1
- data/test/unit/strings_param_test.rb +1 -1
- data/test/unit/test_helper.rb +33 -1
- data/test/unit/tool_generator_test.rb +1 -1
- data/test/unit/unix_system_test.rb +1 -1
- data/test/unit/user_test.rb +1 -1
- data/test/unit/vista_system_test.rb +1 -1
- data/test/unit/win_nix_system_test.rb +1 -1
- data/test/unit/win_system_test.rb +1 -1
- data/test-stderr.log +1 -0
- data/test-stdout.log +237 -0
- metadata +15 -190
- data/doc/Dir.html +0 -288
- data/doc/Rake/Task.html +0 -184
- data/doc/Sprout/ArchiveUnpacker.html +0 -1246
- data/doc/Sprout/Base/ClassMethods.html +0 -434
- data/doc/Sprout/Base.html +0 -126
- data/doc/Sprout/Concern.html +0 -353
- data/doc/Sprout/Daemon/ClassMethods.html +0 -244
- data/doc/Sprout/Daemon/InstanceMethods.html +0 -601
- data/doc/Sprout/Daemon.html +0 -166
- data/doc/Sprout/Errors/ArchiveUnpackerError.html +0 -125
- data/doc/Sprout/Errors/DestinationExistsError.html +0 -133
- data/doc/Sprout/Errors/DuplicateMemberError.html +0 -132
- data/doc/Sprout/Errors/ExecutableError.html +0 -125
- data/doc/Sprout/Errors/ExecutableRegistrationError.html +0 -132
- data/doc/Sprout/Errors/ExecutionError.html +0 -121
- data/doc/Sprout/Errors/GeneratorError.html +0 -125
- data/doc/Sprout/Errors/InvalidArgumentError.html +0 -132
- data/doc/Sprout/Errors/LoadError.html +0 -121
- data/doc/Sprout/Errors/MissingArgumentError.html +0 -132
- data/doc/Sprout/Errors/MissingExecutableError.html +0 -132
- data/doc/Sprout/Errors/MissingGeneratorError.html +0 -132
- data/doc/Sprout/Errors/MissingTemplateError.html +0 -132
- data/doc/Sprout/Errors/ProcessRunnerError.html +0 -121
- data/doc/Sprout/Errors/RemoteFileLoaderError.html +0 -110
- data/doc/Sprout/Errors/SproutError.html +0 -114
- data/doc/Sprout/Errors/UnknownArchiveType.html +0 -122
- data/doc/Sprout/Errors/UsageError.html +0 -121
- data/doc/Sprout/Errors/ValidationError.html +0 -121
- data/doc/Sprout/Errors/VersionRequirementNotMetError.html +0 -121
- data/doc/Sprout/Errors.html +0 -101
- data/doc/Sprout/Executable/Boolean.html +0 -483
- data/doc/Sprout/Executable/ClassMethods.html +0 -417
- data/doc/Sprout/Executable/CollectionParam.html +0 -483
- data/doc/Sprout/Executable/FileParam.html +0 -484
- data/doc/Sprout/Executable/Files.html +0 -292
- data/doc/Sprout/Executable/InstanceMethods.html +0 -2006
- data/doc/Sprout/Executable/Number.html +0 -141
- data/doc/Sprout/Executable/Param.html +0 -2818
- data/doc/Sprout/Executable/ParameterFactory.html +0 -232
- data/doc/Sprout/Executable/Path.html +0 -223
- data/doc/Sprout/Executable/Paths.html +0 -253
- data/doc/Sprout/Executable/StringParam.html +0 -213
- data/doc/Sprout/Executable/Strings.html +0 -167
- data/doc/Sprout/Executable/Url.html +0 -160
- data/doc/Sprout/Executable/Urls.html +0 -170
- data/doc/Sprout/Executable.html +0 -173
- data/doc/Sprout/FileTarget.html +0 -1109
- data/doc/Sprout/Generator/Base.html +0 -1626
- data/doc/Sprout/Generator/Command.html +0 -690
- data/doc/Sprout/Generator/DirectoryManifest.html +0 -476
- data/doc/Sprout/Generator/FileManifest.html +0 -572
- data/doc/Sprout/Generator/Manifest.html +0 -377
- data/doc/Sprout/Generator/TemplateManifest.html +0 -196
- data/doc/Sprout/Generator.html +0 -689
- data/doc/Sprout/GeneratorGenerator.html +0 -1018
- data/doc/Sprout/Library.html +0 -1141
- data/doc/Sprout/LibraryGenerator.html +0 -309
- data/doc/Sprout/Log.html +0 -496
- data/doc/Sprout/MXMLC.html +0 -6373
- data/doc/Sprout/Platform.html +0 -714
- data/doc/Sprout/ProcessRunner.html +0 -1352
- data/doc/Sprout/ProgressBar.html +0 -376
- data/doc/Sprout/ProgressBarImpl.html +0 -2119
- data/doc/Sprout/ProgressBarManager.html +0 -434
- data/doc/Sprout/ProgressBarOutputStream.html +0 -416
- data/doc/Sprout/RDocParser.html +0 -211
- data/doc/Sprout/RemoteFileLoader.html +0 -172
- data/doc/Sprout/RemoteFileTarget.html +0 -679
- data/doc/Sprout/ReversedProgressBar.html +0 -194
- data/doc/Sprout/RubyFeature/ClassMethods.html +0 -1065
- data/doc/Sprout/RubyFeature.html +0 -155
- data/doc/Sprout/RubyGenerator.html +0 -764
- data/doc/Sprout/Specification.html +0 -767
- data/doc/Sprout/System/BaseSystem.html +0 -1455
- data/doc/Sprout/System/JavaSystem.html +0 -122
- data/doc/Sprout/System/OSXSystem.html +0 -335
- data/doc/Sprout/System/ThreadMock.html +0 -193
- data/doc/Sprout/System/UnixSystem.html +0 -584
- data/doc/Sprout/System/VistaSystem.html +0 -251
- data/doc/Sprout/System/WinNixSystem.html +0 -325
- data/doc/Sprout/System/WinSystem.html +0 -571
- data/doc/Sprout/System.html +0 -191
- data/doc/Sprout/ToolGenerator.html +0 -931
- data/doc/Sprout/VERSION.html +0 -128
- data/doc/Sprout.html +0 -144
- data/doc/SproutTestCase.html +0 -1412
- data/doc/String.html +0 -286
- data/doc/_index.html +0 -1035
- data/doc/class_list.html +0 -36
- data/doc/css/common.css +0 -1
- data/doc/css/full_list.css +0 -53
- data/doc/css/style.css +0 -310
- data/doc/file.README.html +0 -96
- data/doc/file.archive_unpacker.html +0 -288
- data/doc/file.base.html +0 -208
- data/doc/file.base_system.html +0 -278
- data/doc/file.boolean.html +0 -135
- data/doc/file.collection_param.html +0 -139
- data/doc/file.command.html +0 -126
- data/doc/file.concern.html +0 -136
- data/doc/file.daemon.html +0 -309
- data/doc/file.dir.html +0 -76
- data/doc/file.directory_manifest.html +0 -122
- data/doc/file.errors.html +0 -147
- data/doc/file.executable.html +0 -638
- data/doc/file.file_manifest.html +0 -109
- data/doc/file.file_param.html +0 -120
- data/doc/file.file_target.html +0 -140
- data/doc/file.files.html +0 -85
- data/doc/file.generator.html +0 -296
- data/doc/file.generator_class.html +0 -72
- data/doc/file.generator_generator.html +0 -137
- data/doc/file.generator_test.html +0 -92
- data/doc/file.generator_test_helper.html +0 -67
- data/doc/file.java_system.html +0 -62
- data/doc/file.library.html +0 -291
- data/doc/file.library_generator.html +0 -74
- data/doc/file.log.html +0 -100
- data/doc/file.manifest.html +0 -67
- data/doc/file.mxmlc.html +0 -740
- data/doc/file.number.html +0 -67
- data/doc/file.osx_system.html +0 -79
- data/doc/file.param.html +0 -491
- data/doc/file.parameter_factory.html +0 -119
- data/doc/file.path.html +0 -81
- data/doc/file.paths.html +0 -80
- data/doc/file.platform.html +0 -124
- data/doc/file.process_runner.html +0 -224
- data/doc/file.progress_bar.html +0 -390
- data/doc/file.rdoc_parser.html +0 -145
- data/doc/file.remote_file_loader.html +0 -117
- data/doc/file.remote_file_target.html +0 -176
- data/doc/file.ruby_base.html +0 -64
- data/doc/file.ruby_feature.html +0 -244
- data/doc/file.ruby_generator.html +0 -118
- data/doc/file.ruby_input.html +0 -62
- data/doc/file.ruby_test_case.html +0 -78
- data/doc/file.ruby_test_helper.html +0 -61
- data/doc/file.specification.html +0 -248
- data/doc/file.sprout.html +0 -64
- data/doc/file.sprout_test_case.html +0 -280
- data/doc/file.string.html +0 -72
- data/doc/file.string_param.html +0 -76
- data/doc/file.strings.html +0 -71
- data/doc/file.system.html +0 -86
- data/doc/file.template_manifest.html +0 -67
- data/doc/file.tool.html +0 -92
- data/doc/file.tool_generator.html +0 -90
- data/doc/file.unix_system.html +0 -128
- data/doc/file.url.html +0 -71
- data/doc/file.urls.html +0 -70
- data/doc/file.version.html +0 -71
- data/doc/file.vista_system.html +0 -69
- data/doc/file.win_nix_system.html +0 -88
- data/doc/file.win_system.html +0 -129
- data/doc/file_list.html +0 -230
- data/doc/frames.html +0 -13
- data/doc/index.html +0 -96
- data/doc/js/app.js +0 -202
- data/doc/js/full_list.js +0 -149
- data/doc/js/jquery.js +0 -154
- data/doc/method_list.html +0 -3355
- data/doc/top-level-namespace.html +0 -192
- data/lib/sprout/base.rb +0 -121
- data/lib/sprout/log.rb +0 -46
- data/test/unit/sprout_test_helper.rb +0 -33
data/doc/file.daemon.html
DELETED
@@ -1,309 +0,0 @@
|
|
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: daemon</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> »
|
27
|
-
<span class="title">File: daemon</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>module Sprout</p>
|
46
|
-
|
47
|
-
<pre class="code"><span class='comment'>##
|
48
|
-
</span><span class='comment'># The Sprout::Daemon module exposes the Domain Specific Language
|
49
|
-
</span><span class='comment'># provided by the Sprout::Executable module, but with
|
50
|
-
</span><span class='comment'># enhancements (and modifications) to support long-lived processes
|
51
|
-
</span><span class='comment'># (like FDB and FCSH).
|
52
|
-
</span><span class='comment'>#
|
53
|
-
</span><span class='comment'># NOTE: Any class that includes Sprout::Daemon should first include
|
54
|
-
</span><span class='comment'># Sprout::Executable. This is an admittedly smelly constraint, but it works
|
55
|
-
</span><span class='comment'># for now.
|
56
|
-
</span><span class='comment'>#
|
57
|
-
</span><span class='comment'># class Foo
|
58
|
-
</span><span class='comment'># include Sprout::Executable
|
59
|
-
</span><span class='comment'># include Sprout::Daemon
|
60
|
-
</span><span class='comment'>#
|
61
|
-
</span><span class='comment'># ##
|
62
|
-
</span><span class='comment'># # Keep in mind that we're still working
|
63
|
-
</span><span class='comment'># # with Executable, so add_param is available
|
64
|
-
</span><span class='comment'># # for the initialization of the process.
|
65
|
-
</span><span class='comment'># add_param :input, File
|
66
|
-
</span><span class='comment'>#
|
67
|
-
</span><span class='comment'># ##
|
68
|
-
</span><span class='comment'># # Expose the do_something action after
|
69
|
-
</span><span class='comment'># # the process is started.
|
70
|
-
</span><span class='comment'># add_action :do_something
|
71
|
-
</span><span class='comment'>#
|
72
|
-
</span><span class='comment'># ##
|
73
|
-
</span><span class='comment'># # Expose the do_something_else action after
|
74
|
-
</span><span class='comment'># # the process is started.
|
75
|
-
</span><span class='comment'># add_action :do_something_else
|
76
|
-
</span><span class='comment'># end
|
77
|
-
</span><span class='comment'>#
|
78
|
-
</span><span class='comment'># You can also create a globally-accessible rake task to expose
|
79
|
-
</span><span class='comment'># your new Daemon instance to Rake by creating a method like the following:
|
80
|
-
</span><span class='comment'>#
|
81
|
-
</span><span class='comment'># def foo *args, &block
|
82
|
-
</span><span class='comment'># foo_tool = Foo.new
|
83
|
-
</span><span class='comment'># foo_tool.to_rake *args, &block
|
84
|
-
</span><span class='comment'># end
|
85
|
-
</span><span class='comment'>#
|
86
|
-
</span><span class='comment'># Note: The aforementioned rake helper is usually written at the bottom of
|
87
|
-
</span><span class='comment'># the class file that is referenced.
|
88
|
-
</span><span class='comment'>#
|
89
|
-
</span><span class='comment'># The aforementioned Rake task could be used like:
|
90
|
-
</span><span class='comment'>#
|
91
|
-
</span><span class='comment'># foo :bar do |t|
|
92
|
-
</span><span class='comment'># t.do_something
|
93
|
-
</span><span class='comment'># t.do_something_else
|
94
|
-
</span><span class='comment'># end
|
95
|
-
</span><span class='comment'>#
|
96
|
-
</span><span class='comment'># @see: Sprout::Daemon::ClassMethods
|
97
|
-
</span><span class='comment'># @see: Sprout::Daemon::InstanceMethods
|
98
|
-
</span><span class='comment'>#
|
99
|
-
</span><span class='kw'>module</span> <span class='const'>Daemon</span>
|
100
|
-
|
101
|
-
<span class='id extend'>extend</span> <span class='const'>Concern</span>
|
102
|
-
|
103
|
-
<span class='comment'>##
|
104
|
-
</span> <span class='comment'># These are the methods that will be available
|
105
|
-
</span> <span class='comment'># on any class that includes Sprout::Daemon.
|
106
|
-
</span> <span class='kw'>module</span> <span class='const'>ClassMethods</span>
|
107
|
-
|
108
|
-
<span class='comment'>##
|
109
|
-
</span> <span class='comment'># Add an action that can be called while
|
110
|
-
</span> <span class='comment'># the long-lived process is active.
|
111
|
-
</span> <span class='comment'>#
|
112
|
-
</span> <span class='comment'># This method should raise a Sprout::Errors::UsageError
|
113
|
-
</span> <span class='comment'># if the provided action name is already defined for
|
114
|
-
</span> <span class='comment'># the provided instance.
|
115
|
-
</span> <span class='kw'>def</span> <span class='id add_action'>add_action</span> <span class='id name'>name</span><span class='comma'>,</span> <span class='id arguments'>arguments</span><span class='op'>=</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='id options'>options</span><span class='op'>=</span><span class='kw'>nil</span>
|
116
|
-
<span class='id options'>options</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
117
|
-
<span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:name</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id name'>name</span>
|
118
|
-
<span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:arguments</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id arguments'>arguments</span>
|
119
|
-
<span class='id create_action_method'>create_action_method</span> <span class='id options'>options</span>
|
120
|
-
<span class='kw'>end</span>
|
121
|
-
|
122
|
-
<span class='comment'>##
|
123
|
-
</span> <span class='comment'># Create an (often shorter) alias to another
|
124
|
-
</span> <span class='comment'># action name.
|
125
|
-
</span> <span class='kw'>def</span> <span class='id add_action_alias'>add_action_alias</span> <span class='id alias_name'>alias_name</span><span class='comma'>,</span> <span class='id source_name'>source_name</span>
|
126
|
-
<span class='id define_method'>define_method</span><span class='lparen'>(</span><span class='id alias_name'>alias_name</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='op'>*</span><span class='id params'>params</span><span class='op'>|</span>
|
127
|
-
<span class='kw'>self</span><span class='period'>.</span><span class='id send'>send</span><span class='lparen'>(</span><span class='id source_name'>source_name</span><span class='comma'>,</span> <span class='id params'>params</span><span class='rparen'>)</span>
|
128
|
-
<span class='kw'>end</span>
|
129
|
-
<span class='kw'>end</span>
|
130
|
-
|
131
|
-
<span class='id private'>private</span>
|
132
|
-
|
133
|
-
<span class='comment'>##
|
134
|
-
</span> <span class='comment'># Actually create the method for a provided
|
135
|
-
</span> <span class='comment'># action.
|
136
|
-
</span> <span class='comment'>#
|
137
|
-
</span> <span class='comment'># This method should explode if the method name
|
138
|
-
</span> <span class='comment'># already exists.
|
139
|
-
</span> <span class='kw'>def</span> <span class='id create_action_method'>create_action_method</span> <span class='id options'>options</span>
|
140
|
-
<span class='id name'>name</span> <span class='op'>=</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:name</span><span class='rbracket'>]</span>
|
141
|
-
<span class='id accessor_can_be_defined_at'>accessor_can_be_defined_at</span> <span class='id name'>name</span>
|
142
|
-
|
143
|
-
<span class='id define_method'>define_method</span><span class='lparen'>(</span><span class='id name'>name</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='op'>*</span><span class='id params'>params</span><span class='op'>|</span>
|
144
|
-
<span class='id action'>action</span> <span class='op'>=</span> <span class='id name'>name</span><span class='period'>.</span><span class='id to_s'>to_s</span>
|
145
|
-
<span class='id action'>action</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>y</span><span class='tstring_end'>"</span></span> <span class='kw'>if</span> <span class='id name'>name</span> <span class='op'>==</span> <span class='symbol'>:confirm</span> <span class='comment'># Convert affirmation
|
146
|
-
</span> <span class='id action'>action</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id params'>params</span><span class='period'>.</span><span class='id join'>join</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><span class='rbrace'>}</span><span class='tstring_end'>"</span></span> <span class='kw'>unless</span> <span class='id params'>params</span><span class='period'>.</span><span class='id nil?'>nil?</span>
|
147
|
-
<span class='id action_stack'>action_stack</span> <span class='op'><<</span> <span class='id action'>action</span>
|
148
|
-
<span class='kw'>end</span>
|
149
|
-
<span class='kw'>end</span>
|
150
|
-
|
151
|
-
<span class='comment'>##
|
152
|
-
</span> <span class='comment'># TODO: Raise an exception if the name is
|
153
|
-
</span> <span class='comment'># already taken?
|
154
|
-
</span> <span class='kw'>def</span> <span class='id accessor_can_be_defined_at'>accessor_can_be_defined_at</span> <span class='id name'>name</span>
|
155
|
-
<span class='kw'>end</span>
|
156
|
-
|
157
|
-
<span class='kw'>end</span>
|
158
|
-
|
159
|
-
<span class='comment'>##
|
160
|
-
</span> <span class='comment'># Instance methods that will be available on any
|
161
|
-
</span> <span class='comment'># class that includes Sprout::Daemon.
|
162
|
-
</span> <span class='kw'>module</span> <span class='const'>InstanceMethods</span>
|
163
|
-
|
164
|
-
<span class='comment'>##
|
165
|
-
</span> <span class='comment'># The prompt expression for this daemon process.
|
166
|
-
</span> <span class='comment'>#
|
167
|
-
</span> <span class='comment'># When executing a series of commands, the
|
168
|
-
</span> <span class='comment'># wrapper will wait until it matches this expression
|
169
|
-
</span> <span class='comment'># on stdout before continuing the series.
|
170
|
-
</span> <span class='comment'>#
|
171
|
-
</span> <span class='comment'># For FDB, this value is set like:
|
172
|
-
</span> <span class='comment'>#
|
173
|
-
</span> <span class='comment'># set :prompt, /^\(fdb\) /
|
174
|
-
</span> <span class='comment'>#
|
175
|
-
</span> <span class='comment'># Most processes can trigger a variety of different
|
176
|
-
</span> <span class='comment'># prompts, these can be expressed here using the | (or) operator.
|
177
|
-
</span> <span class='comment'>#
|
178
|
-
</span> <span class='comment'># FDB actually uses the following:
|
179
|
-
</span> <span class='comment'>#
|
180
|
-
</span> <span class='comment'># set :prompt, /^\(fdb\) |\(y or n\) /
|
181
|
-
</span> <span class='comment'>#
|
182
|
-
</span> <span class='id attr_accessor'>attr_accessor</span> <span class='symbol'>:prompt</span>
|
183
|
-
|
184
|
-
<span class='comment'>##
|
185
|
-
</span> <span class='comment'># This is the array of actions that have
|
186
|
-
</span> <span class='comment'># been provided at the class level to this instance.
|
187
|
-
</span> <span class='id attr_reader'>attr_reader</span> <span class='symbol'>:action_stack</span>
|
188
|
-
|
189
|
-
<span class='kw'>def</span> <span class='id initialize'>initialize</span>
|
190
|
-
<span class='kw'>super</span>
|
191
|
-
<span class='ivar'>@action_stack</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
192
|
-
<span class='kw'>end</span>
|
193
|
-
|
194
|
-
<span class='comment'>##
|
195
|
-
</span> <span class='comment'># Execute the Daemon executable, followed
|
196
|
-
</span> <span class='comment'># by the collection of stored actions in
|
197
|
-
</span> <span class='comment'># the order they were called.
|
198
|
-
</span> <span class='comment'>#
|
199
|
-
</span> <span class='comment'># If none of the stored actions result in
|
200
|
-
</span> <span class='comment'># terminating the process, the underlying
|
201
|
-
</span> <span class='comment'># daemon will be connected to the terminal
|
202
|
-
</span> <span class='comment'># for user (manual) input.
|
203
|
-
</span> <span class='kw'>def</span> <span class='id execute'>execute</span>
|
204
|
-
<span class='id runner'>runner</span> <span class='op'>=</span> <span class='kw'>super</span>
|
205
|
-
<span class='id execute_actions'>execute_actions</span> <span class='id runner'>runner</span>
|
206
|
-
<span class='id handle_user_session'>handle_user_session</span> <span class='id runner'>runner</span>
|
207
|
-
<span class='const'>Process</span><span class='period'>.</span><span class='id wait'>wait</span> <span class='id runner'>runner</span><span class='period'>.</span><span class='id pid'>pid</span>
|
208
|
-
<span class='kw'>end</span>
|
209
|
-
|
210
|
-
<span class='id protected'>protected</span>
|
211
|
-
|
212
|
-
<span class='comment'>##
|
213
|
-
</span> <span class='comment'># This is the override of the underlying
|
214
|
-
</span> <span class='comment'># Sprout::Executable template method so that we
|
215
|
-
</span> <span class='comment'># create a 'task' instead of a 'file' task.
|
216
|
-
</span> <span class='kw'>def</span> <span class='id create_outer_task'>create_outer_task</span> <span class='op'>*</span><span class='id args'>args</span>
|
217
|
-
<span class='id task'>task</span> <span class='op'>*</span><span class='id args'>args</span> <span class='kw'>do</span>
|
218
|
-
<span class='id execute'>execute</span>
|
219
|
-
<span class='kw'>end</span>
|
220
|
-
<span class='kw'>end</span>
|
221
|
-
|
222
|
-
<span class='comment'>##
|
223
|
-
</span> <span class='comment'># This is the override of the underlying
|
224
|
-
</span> <span class='comment'># Sprout::Executable template method so that we
|
225
|
-
</span> <span class='comment'># are NOT added to the CLEAN collection.
|
226
|
-
</span> <span class='comment'># (Work performed in the Executable)
|
227
|
-
</span> <span class='kw'>def</span> <span class='id update_rake_task_name_from_args'>update_rake_task_name_from_args</span> <span class='op'>*</span><span class='id args'>args</span>
|
228
|
-
<span class='kw'>self</span><span class='period'>.</span><span class='id rake_task_name'>rake_task_name</span> <span class='op'>=</span> <span class='id parse_rake_task_arg'>parse_rake_task_arg</span> <span class='id args'>args</span><span class='period'>.</span><span class='id last'>last</span>
|
229
|
-
<span class='kw'>end</span>
|
230
|
-
|
231
|
-
<span class='comment'>##
|
232
|
-
</span> <span class='comment'># This is the override of the underlying
|
233
|
-
</span> <span class='comment'># Sprout::Executable template method so that we
|
234
|
-
</span> <span class='comment'># create the process in a thread
|
235
|
-
</span> <span class='comment'># in order to read and write to it.
|
236
|
-
</span> <span class='kw'>def</span> <span class='id system_execute'>system_execute</span> <span class='id binary'>binary</span><span class='comma'>,</span> <span class='id params'>params</span>
|
237
|
-
<span class='const'>Sprout</span><span class='period'>.</span><span class='id current_system'>current_system</span><span class='period'>.</span><span class='id execute_thread'>execute_thread</span> <span class='id binary'>binary</span><span class='comma'>,</span> <span class='id params'>params</span>
|
238
|
-
<span class='kw'>end</span>
|
239
|
-
|
240
|
-
<span class='id private'>private</span>
|
241
|
-
|
242
|
-
<span class='comment'>##
|
243
|
-
</span> <span class='comment'># Execute the collection of provided actions.
|
244
|
-
</span> <span class='kw'>def</span> <span class='id execute_actions'>execute_actions</span> <span class='id runner'>runner</span>
|
245
|
-
<span class='id action_stack'>action_stack</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id action'>action</span><span class='op'>|</span>
|
246
|
-
<span class='kw'>if</span> <span class='id wait_for_prompt'>wait_for_prompt</span> <span class='id runner'>runner</span>
|
247
|
-
<span class='const'>Sprout</span><span class='op'>::</span><span class='const'>Log</span><span class='period'>.</span><span class='id puts'>puts</span> <span class='id action'>action</span>
|
248
|
-
<span class='id execute_action'>execute_action</span> <span class='id runner'>runner</span><span class='comma'>,</span> <span class='id action'>action</span>
|
249
|
-
<span class='kw'>end</span>
|
250
|
-
<span class='kw'>end</span>
|
251
|
-
<span class='kw'>end</span>
|
252
|
-
|
253
|
-
<span class='comment'>##
|
254
|
-
</span> <span class='comment'># Execute a single action.
|
255
|
-
</span> <span class='kw'>def</span> <span class='id execute_action'>execute_action</span> <span class='id runner'>runner</span><span class='comma'>,</span> <span class='id action'>action</span>
|
256
|
-
<span class='id runner'>runner</span><span class='period'>.</span><span class='id puts'>puts</span> <span class='id action'>action</span><span class='period'>.</span><span class='id strip'>strip</span>
|
257
|
-
<span class='kw'>end</span>
|
258
|
-
|
259
|
-
<span class='comment'>##
|
260
|
-
</span> <span class='comment'># Expose the running process to manual
|
261
|
-
</span> <span class='comment'># input on the terminal, and write stdout
|
262
|
-
</span> <span class='comment'># back to the user.
|
263
|
-
</span> <span class='kw'>def</span> <span class='id handle_user_session'>handle_user_session</span> <span class='id runner'>runner</span>
|
264
|
-
<span class='kw'>while</span> <span class='op'>!</span><span class='id runner'>runner</span><span class='period'>.</span><span class='id r'>r</span><span class='period'>.</span><span class='id eof?'>eof?</span>
|
265
|
-
<span class='kw'>if</span> <span class='id wait_for_prompt'>wait_for_prompt</span> <span class='id runner'>runner</span>
|
266
|
-
<span class='id input'>input</span> <span class='op'>=</span> <span class='gvar'>$stdin</span><span class='period'>.</span><span class='id gets'>gets</span><span class='period'>.</span><span class='id chomp!'>chomp!</span>
|
267
|
-
<span class='id execute_action'>execute_action</span> <span class='id runner'>runner</span><span class='comma'>,</span> <span class='id input'>input</span>
|
268
|
-
<span class='kw'>end</span>
|
269
|
-
<span class='kw'>end</span>
|
270
|
-
<span class='kw'>end</span>
|
271
|
-
|
272
|
-
<span class='comment'>##
|
273
|
-
</span> <span class='comment'># Wait for the underlying process to present
|
274
|
-
</span> <span class='comment'># an input prompt, so that another action
|
275
|
-
</span> <span class='comment'># can be submitted, or user input can be
|
276
|
-
</span> <span class='comment'># collected.
|
277
|
-
</span> <span class='kw'>def</span> <span class='id wait_for_prompt'>wait_for_prompt</span> <span class='id runner'>runner</span><span class='comma'>,</span> <span class='id expected_prompt'>expected_prompt</span><span class='op'>=</span><span class='kw'>nil</span>
|
278
|
-
<span class='comment'>##
|
279
|
-
</span> <span class='comment'># TODO: This should also check for a variety of prompts...
|
280
|
-
</span> <span class='id expected_prompt'>expected_prompt</span> <span class='op'>=</span> <span class='id expected_prompt'>expected_prompt</span> <span class='op'>||</span> <span class='id prompt'>prompt</span>
|
281
|
-
<span class='id line'>line</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span>
|
282
|
-
|
283
|
-
<span class='kw'>while</span> <span class='id runner'>runner</span><span class='period'>.</span><span class='id alive?'>alive?</span> <span class='kw'>do</span>
|
284
|
-
<span class='const'>Sprout</span><span class='op'>::</span><span class='const'>Log</span><span class='period'>.</span><span class='id flush'>flush</span>
|
285
|
-
<span class='kw'>return</span> <span class='kw'>false</span> <span class='kw'>if</span> <span class='id runner'>runner</span><span class='period'>.</span><span class='id r'>r</span><span class='period'>.</span><span class='id eof?'>eof?</span>
|
286
|
-
<span class='id char'>char</span> <span class='op'>=</span> <span class='id runner'>runner</span><span class='period'>.</span><span class='id readpartial'>readpartial</span> <span class='int'>1</span>
|
287
|
-
<span class='id line'>line</span> <span class='op'><<</span> <span class='id char'>char</span>
|
288
|
-
<span class='kw'>if</span> <span class='id char'>char</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n</span><span class='tstring_end'>"</span></span>
|
289
|
-
<span class='id line'>line</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span>
|
290
|
-
<span class='kw'>end</span>
|
291
|
-
<span class='const'>Sprout</span><span class='op'>::</span><span class='const'>Log</span><span class='period'>.</span><span class='id printf'>printf</span> <span class='id char'>char</span>
|
292
|
-
<span class='kw'>return</span> <span class='kw'>true</span> <span class='kw'>if</span> <span class='id line'>line</span><span class='period'>.</span><span class='id match'>match</span> <span class='id expected_prompt'>expected_prompt</span>
|
293
|
-
<span class='kw'>end</span>
|
294
|
-
<span class='kw'>end</span>
|
295
|
-
|
296
|
-
<span class='kw'>end</span>
|
297
|
-
<span class='kw'>end</span></pre>
|
298
|
-
|
299
|
-
<p>end</p>
|
300
|
-
</div></div>
|
301
|
-
|
302
|
-
<div id="footer">
|
303
|
-
Generated on Wed Dec 22 11:58:31 2010 by
|
304
|
-
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
305
|
-
0.6.3 (ruby-1.9.2).
|
306
|
-
</div>
|
307
|
-
|
308
|
-
</body>
|
309
|
-
</html>
|
data/doc/file.dir.html
DELETED
@@ -1,76 +0,0 @@
|
|
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: dir</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> »
|
27
|
-
<span class="title">File: dir</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>class Dir</p>
|
46
|
-
|
47
|
-
<pre class="code"><span class='comment'>##
|
48
|
-
</span><span class='comment'># Return true if the directory has no children.
|
49
|
-
</span><span class='comment'>#
|
50
|
-
</span><span class='comment'># Code found here: http://www.ruby-forum.com/topic/84762
|
51
|
-
</span><span class='kw'>def</span> <span class='id empty?'>empty?</span>
|
52
|
-
<span class='const'>Dir</span><span class='period'>.</span><span class='id glob'>glob</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span> <span class='id path'>path</span> <span class='rbrace'>}</span><span class='tstring_content'>/*</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='const'>File</span><span class='op'>::</span><span class='const'>FNM_DOTMATCH</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id e'>e</span><span class='op'>|</span>
|
53
|
-
<span class='kw'>return</span> <span class='kw'>false</span> <span class='kw'>unless</span> <span class='qwords_beg'>%w( </span><span class='tstring_content'>.</span><span class='words_sep'> </span><span class='tstring_content'>..</span><span class='words_sep'> )</span><span class='period'>.</span><span class='id include?'>include?</span><span class='lparen'>(</span><span class='const'>File</span><span class='op'>::</span><span class='id basename'>basename</span><span class='lparen'>(</span><span class='id e'>e</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
54
|
-
<span class='kw'>end</span>
|
55
|
-
<span class='kw'>return</span> <span class='kw'>true</span>
|
56
|
-
<span class='kw'>end</span>
|
57
|
-
|
58
|
-
<span class='comment'>##
|
59
|
-
</span><span class='comment'># Return true if the provided path has no children.
|
60
|
-
</span><span class='comment'>#
|
61
|
-
</span><span class='comment'># Code found here: http://www.ruby-forum.com/topic/84762
|
62
|
-
</span><span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id empty?'>empty?</span> <span class='id path'>path</span>
|
63
|
-
<span class='id new'>new</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span><span class='period'>.</span><span class='id empty?'>empty?</span>
|
64
|
-
<span class='kw'>end</span></pre>
|
65
|
-
|
66
|
-
<p>end</p>
|
67
|
-
</div></div>
|
68
|
-
|
69
|
-
<div id="footer">
|
70
|
-
Generated on Wed Dec 22 11:58:31 2010 by
|
71
|
-
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
72
|
-
0.6.3 (ruby-1.9.2).
|
73
|
-
</div>
|
74
|
-
|
75
|
-
</body>
|
76
|
-
</html>
|
@@ -1,122 +0,0 @@
|
|
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: directory_manifest</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> »
|
27
|
-
<span class="title">File: directory_manifest</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>module Sprout::Generator</p>
|
46
|
-
|
47
|
-
<pre class="code"><span class='kw'>class</span> <span class='const'>DirectoryManifest</span> <span class='op'><</span> <span class='const'>Manifest</span>
|
48
|
-
<span class='id attr_reader'>attr_reader</span> <span class='symbol'>:children</span>
|
49
|
-
<span class='id attr_reader'>attr_reader</span> <span class='symbol'>:generators</span>
|
50
|
-
|
51
|
-
<span class='kw'>def</span> <span class='id initialize'>initialize</span>
|
52
|
-
<span class='kw'>super</span>
|
53
|
-
<span class='ivar'>@children</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
54
|
-
<span class='ivar'>@generators</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
55
|
-
<span class='kw'>end</span>
|
56
|
-
|
57
|
-
<span class='kw'>def</span> <span class='id create'>create</span>
|
58
|
-
<span class='kw'>if</span> <span class='op'>!</span><span class='const'>File</span><span class='period'>.</span><span class='id directory?'>directory?</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span>
|
59
|
-
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id mkdir_p'>mkdir_p</span> <span class='id path'>path</span>
|
60
|
-
<span class='id say'>say</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Created directory: </span><span class='embexpr_beg'>#{</span><span class='id path'>path</span><span class='rbrace'>}</span><span class='tstring_end'>"</span></span>
|
61
|
-
<span class='kw'>else</span>
|
62
|
-
<span class='id say'>say</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Skipped existing: </span><span class='embexpr_beg'>#{</span><span class='id path'>path</span><span class='rbrace'>}</span><span class='tstring_end'>"</span></span> <span class='kw'>unless</span><span class='lparen'>(</span><span class='id path'>path</span> <span class='op'>==</span> <span class='const'>Dir</span><span class='period'>.</span><span class='id pwd'>pwd</span><span class='rparen'>)</span>
|
63
|
-
<span class='kw'>end</span>
|
64
|
-
<span class='id create_children'>create_children</span>
|
65
|
-
<span class='id execute_generators'>execute_generators</span>
|
66
|
-
<span class='kw'>end</span>
|
67
|
-
|
68
|
-
<span class='kw'>def</span> <span class='id destroy'>destroy</span>
|
69
|
-
<span class='id unexecute_generators'>unexecute_generators</span>
|
70
|
-
<span class='id success'>success</span> <span class='op'>=</span> <span class='id destroy_children'>destroy_children</span>
|
71
|
-
|
72
|
-
<span class='kw'>if</span> <span class='id success'>success</span> <span class='op'>&&</span> <span class='id can_remove?'>can_remove?</span>
|
73
|
-
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id rmdir'>rmdir</span> <span class='id path'>path</span>
|
74
|
-
<span class='id say'>say</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Removed directory: </span><span class='embexpr_beg'>#{</span><span class='id path'>path</span><span class='rbrace'>}</span><span class='tstring_end'>"</span></span>
|
75
|
-
<span class='kw'>true</span>
|
76
|
-
<span class='kw'>else</span>
|
77
|
-
<span class='id say'>say</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Skipped remove directory: </span><span class='embexpr_beg'>#{</span><span class='id path'>path</span><span class='rbrace'>}</span><span class='tstring_end'>"</span></span>
|
78
|
-
<span class='kw'>false</span>
|
79
|
-
<span class='kw'>end</span>
|
80
|
-
<span class='kw'>end</span>
|
81
|
-
|
82
|
-
<span class='id private'>private</span>
|
83
|
-
|
84
|
-
<span class='kw'>def</span> <span class='id can_remove?'>can_remove?</span>
|
85
|
-
<span class='const'>File</span><span class='period'>.</span><span class='id directory?'>directory?</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span> <span class='op'>&&</span> <span class='const'>Dir</span><span class='period'>.</span><span class='id empty?'>empty?</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span>
|
86
|
-
<span class='kw'>end</span>
|
87
|
-
|
88
|
-
<span class='kw'>def</span> <span class='id create_children'>create_children</span>
|
89
|
-
<span class='id created'>created</span> <span class='op'>=</span> <span class='id children'>children</span><span class='period'>.</span><span class='id select'>select</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id child'>child</span><span class='op'>|</span> <span class='id child'>child</span><span class='period'>.</span><span class='id create'>create</span> <span class='rbrace'>}</span>
|
90
|
-
<span class='kw'>return</span> <span class='lparen'>(</span><span class='id created'>created</span><span class='period'>.</span><span class='id size'>size</span> <span class='op'>==</span> <span class='id children'>children</span><span class='period'>.</span><span class='id size'>size</span><span class='rparen'>)</span>
|
91
|
-
<span class='kw'>end</span>
|
92
|
-
|
93
|
-
<span class='kw'>def</span> <span class='id destroy_children'>destroy_children</span>
|
94
|
-
<span class='id destroyed'>destroyed</span> <span class='op'>=</span> <span class='id children'>children</span><span class='period'>.</span><span class='id reverse'>reverse</span><span class='period'>.</span><span class='id select'>select</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id child'>child</span><span class='op'>|</span> <span class='id child'>child</span><span class='period'>.</span><span class='id destroy'>destroy</span> <span class='rbrace'>}</span>
|
95
|
-
<span class='kw'>return</span> <span class='lparen'>(</span><span class='id destroyed'>destroyed</span><span class='period'>.</span><span class='id size'>size</span> <span class='op'>==</span> <span class='id children'>children</span><span class='period'>.</span><span class='id size'>size</span><span class='rparen'>)</span>
|
96
|
-
<span class='kw'>end</span>
|
97
|
-
|
98
|
-
<span class='kw'>def</span> <span class='id execute_generators'>execute_generators</span>
|
99
|
-
<span class='id generators'>generators</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id generator'>generator</span><span class='op'>|</span>
|
100
|
-
<span class='id generator'>generator</span><span class='period'>.</span><span class='id execute'>execute</span>
|
101
|
-
<span class='kw'>end</span>
|
102
|
-
<span class='kw'>end</span>
|
103
|
-
|
104
|
-
<span class='kw'>def</span> <span class='id unexecute_generators'>unexecute_generators</span>
|
105
|
-
<span class='id generators'>generators</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id generator'>generator</span><span class='op'>|</span>
|
106
|
-
<span class='id generator'>generator</span><span class='period'>.</span><span class='id unexecute'>unexecute</span>
|
107
|
-
<span class='kw'>end</span>
|
108
|
-
<span class='kw'>end</span>
|
109
|
-
|
110
|
-
<span class='kw'>end</span></pre>
|
111
|
-
|
112
|
-
<p>end</p>
|
113
|
-
</div></div>
|
114
|
-
|
115
|
-
<div id="footer">
|
116
|
-
Generated on Wed Dec 22 11:58:32 2010 by
|
117
|
-
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
118
|
-
0.6.3 (ruby-1.9.2).
|
119
|
-
</div>
|
120
|
-
|
121
|
-
</body>
|
122
|
-
</html>
|