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.
- data/Gemfile +2 -1
- data/Gemfile.lock +4 -2
- data/README.textile +12 -13
- data/VERSION +1 -0
- data/doc/Dir.html +288 -0
- data/doc/Rake/Task.html +184 -0
- data/doc/Sprout.html +144 -0
- data/doc/Sprout/ArchiveUnpacker.html +1246 -0
- data/doc/Sprout/Base.html +126 -0
- data/doc/Sprout/Base/ClassMethods.html +434 -0
- data/doc/Sprout/Concern.html +353 -0
- data/doc/Sprout/Daemon.html +166 -0
- data/doc/Sprout/Daemon/ClassMethods.html +244 -0
- data/doc/Sprout/Daemon/InstanceMethods.html +601 -0
- data/doc/Sprout/Errors.html +101 -0
- data/doc/Sprout/Errors/ArchiveUnpackerError.html +125 -0
- data/doc/Sprout/Errors/DestinationExistsError.html +133 -0
- data/doc/Sprout/Errors/DuplicateMemberError.html +132 -0
- data/doc/Sprout/Errors/ExecutableError.html +125 -0
- data/doc/Sprout/Errors/ExecutableRegistrationError.html +132 -0
- data/doc/Sprout/Errors/ExecutionError.html +121 -0
- data/doc/Sprout/Errors/GeneratorError.html +125 -0
- data/doc/Sprout/Errors/InvalidArgumentError.html +132 -0
- data/doc/Sprout/Errors/LoadError.html +121 -0
- data/doc/Sprout/Errors/MissingArgumentError.html +132 -0
- data/doc/Sprout/Errors/MissingExecutableError.html +132 -0
- data/doc/Sprout/Errors/MissingGeneratorError.html +132 -0
- data/doc/Sprout/Errors/MissingTemplateError.html +132 -0
- data/doc/Sprout/Errors/ProcessRunnerError.html +121 -0
- data/doc/Sprout/Errors/RemoteFileLoaderError.html +110 -0
- data/doc/Sprout/Errors/SproutError.html +114 -0
- data/doc/Sprout/Errors/UnknownArchiveType.html +122 -0
- data/doc/Sprout/Errors/UsageError.html +121 -0
- data/doc/Sprout/Errors/ValidationError.html +121 -0
- data/doc/Sprout/Errors/VersionRequirementNotMetError.html +121 -0
- data/doc/Sprout/Executable.html +173 -0
- data/doc/Sprout/Executable/Boolean.html +483 -0
- data/doc/Sprout/Executable/ClassMethods.html +417 -0
- data/doc/Sprout/Executable/CollectionParam.html +483 -0
- data/doc/Sprout/Executable/FileParam.html +484 -0
- data/doc/Sprout/Executable/Files.html +292 -0
- data/doc/Sprout/Executable/InstanceMethods.html +2006 -0
- data/doc/Sprout/Executable/Number.html +141 -0
- data/doc/Sprout/Executable/Param.html +2818 -0
- data/doc/Sprout/Executable/ParameterFactory.html +232 -0
- data/doc/Sprout/Executable/Path.html +223 -0
- data/doc/Sprout/Executable/Paths.html +253 -0
- data/doc/Sprout/Executable/StringParam.html +213 -0
- data/doc/Sprout/Executable/Strings.html +167 -0
- data/doc/Sprout/Executable/Url.html +160 -0
- data/doc/Sprout/Executable/Urls.html +170 -0
- data/doc/Sprout/FileTarget.html +1109 -0
- data/doc/Sprout/Generator.html +689 -0
- data/doc/Sprout/Generator/Base.html +1626 -0
- data/doc/Sprout/Generator/Command.html +690 -0
- data/doc/Sprout/Generator/DirectoryManifest.html +476 -0
- data/doc/Sprout/Generator/FileManifest.html +572 -0
- data/doc/Sprout/Generator/Manifest.html +377 -0
- data/doc/Sprout/Generator/TemplateManifest.html +196 -0
- data/doc/Sprout/GeneratorGenerator.html +1018 -0
- data/doc/Sprout/Library.html +1141 -0
- data/doc/Sprout/LibraryGenerator.html +309 -0
- data/doc/Sprout/Log.html +496 -0
- data/doc/Sprout/MXMLC.html +6373 -0
- data/doc/Sprout/Platform.html +714 -0
- data/doc/Sprout/ProcessRunner.html +1352 -0
- data/doc/Sprout/ProgressBar.html +376 -0
- data/doc/Sprout/ProgressBarImpl.html +2119 -0
- data/doc/Sprout/ProgressBarManager.html +434 -0
- data/doc/Sprout/ProgressBarOutputStream.html +416 -0
- data/doc/Sprout/RDocParser.html +211 -0
- data/doc/Sprout/RemoteFileLoader.html +172 -0
- data/doc/Sprout/RemoteFileTarget.html +679 -0
- data/doc/Sprout/ReversedProgressBar.html +194 -0
- data/doc/Sprout/RubyFeature.html +155 -0
- data/doc/Sprout/RubyFeature/ClassMethods.html +1065 -0
- data/doc/Sprout/RubyGenerator.html +764 -0
- data/doc/Sprout/Specification.html +767 -0
- data/doc/Sprout/System.html +191 -0
- data/doc/Sprout/System/BaseSystem.html +1455 -0
- data/doc/Sprout/System/JavaSystem.html +122 -0
- data/doc/Sprout/System/OSXSystem.html +335 -0
- data/doc/Sprout/System/ThreadMock.html +193 -0
- data/doc/Sprout/System/UnixSystem.html +584 -0
- data/doc/Sprout/System/VistaSystem.html +251 -0
- data/doc/Sprout/System/WinNixSystem.html +325 -0
- data/doc/Sprout/System/WinSystem.html +571 -0
- data/doc/Sprout/ToolGenerator.html +931 -0
- data/doc/Sprout/VERSION.html +128 -0
- data/doc/SproutTestCase.html +1412 -0
- data/doc/String.html +286 -0
- data/doc/_index.html +1035 -0
- data/doc/class_list.html +36 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +53 -0
- data/doc/css/style.css +310 -0
- data/doc/file.README.html +96 -0
- data/doc/file.archive_unpacker.html +288 -0
- data/doc/file.base.html +208 -0
- data/doc/file.base_system.html +278 -0
- data/doc/file.boolean.html +135 -0
- data/doc/file.collection_param.html +139 -0
- data/doc/file.command.html +126 -0
- data/doc/file.concern.html +136 -0
- data/doc/file.daemon.html +309 -0
- data/doc/file.dir.html +76 -0
- data/doc/file.directory_manifest.html +122 -0
- data/doc/file.errors.html +147 -0
- data/doc/file.executable.html +638 -0
- data/doc/file.file_manifest.html +109 -0
- data/doc/file.file_param.html +120 -0
- data/doc/file.file_target.html +140 -0
- data/doc/file.files.html +85 -0
- data/doc/file.generator.html +296 -0
- data/doc/file.generator_class.html +72 -0
- data/doc/file.generator_generator.html +137 -0
- data/doc/file.generator_test.html +92 -0
- data/doc/file.generator_test_helper.html +67 -0
- data/doc/file.java_system.html +62 -0
- data/doc/file.library.html +291 -0
- data/doc/file.library_generator.html +74 -0
- data/doc/file.log.html +100 -0
- data/doc/file.manifest.html +67 -0
- data/doc/file.mxmlc.html +740 -0
- data/doc/file.number.html +67 -0
- data/doc/file.osx_system.html +79 -0
- data/doc/file.param.html +491 -0
- data/doc/file.parameter_factory.html +119 -0
- data/doc/file.path.html +81 -0
- data/doc/file.paths.html +80 -0
- data/doc/file.platform.html +124 -0
- data/doc/file.process_runner.html +224 -0
- data/doc/file.progress_bar.html +390 -0
- data/doc/file.rdoc_parser.html +145 -0
- data/doc/file.remote_file_loader.html +117 -0
- data/doc/file.remote_file_target.html +176 -0
- data/doc/file.ruby_base.html +64 -0
- data/doc/file.ruby_feature.html +244 -0
- data/doc/file.ruby_generator.html +118 -0
- data/doc/file.ruby_input.html +62 -0
- data/doc/file.ruby_test_case.html +78 -0
- data/doc/file.ruby_test_helper.html +61 -0
- data/doc/file.specification.html +248 -0
- data/doc/file.sprout.html +64 -0
- data/doc/file.sprout_test_case.html +280 -0
- data/doc/file.string.html +72 -0
- data/doc/file.string_param.html +76 -0
- data/doc/file.strings.html +71 -0
- data/doc/file.system.html +86 -0
- data/doc/file.template_manifest.html +67 -0
- data/doc/file.tool.html +92 -0
- data/doc/file.tool_generator.html +90 -0
- data/doc/file.unix_system.html +128 -0
- data/doc/file.url.html +71 -0
- data/doc/file.urls.html +70 -0
- data/doc/file.version.html +71 -0
- data/doc/file.vista_system.html +69 -0
- data/doc/file.win_nix_system.html +88 -0
- data/doc/file.win_system.html +129 -0
- data/doc/file_list.html +230 -0
- data/doc/frames.html +13 -0
- data/doc/index.html +96 -0
- data/doc/js/app.js +202 -0
- data/doc/js/full_list.js +149 -0
- data/doc/js/jquery.js +154 -0
- data/doc/method_list.html +3355 -0
- data/doc/top-level-namespace.html +192 -0
- data/lib/sprout/archive_unpacker.rb +203 -137
- data/lib/sprout/base.rb +38 -11
- data/lib/sprout/concern.rb +51 -0
- data/lib/sprout/daemon.rb +256 -0
- data/lib/sprout/executable.rb +40 -11
- data/lib/sprout/executable/boolean.rb +47 -1
- data/lib/sprout/executable/collection_param.rb +33 -1
- data/lib/sprout/executable/file_param.rb +16 -3
- data/lib/sprout/executable/files.rb +5 -0
- data/lib/sprout/executable/number.rb +5 -1
- data/lib/sprout/executable/param.rb +232 -16
- data/lib/sprout/executable/parameter_factory.rb +39 -1
- data/lib/sprout/executable/path.rb +7 -1
- data/lib/sprout/executable/paths.rb +6 -1
- data/lib/sprout/executable/string_param.rb +8 -1
- data/lib/sprout/executable/strings.rb +7 -1
- data/lib/sprout/executable/url.rb +8 -1
- data/lib/sprout/executable/urls.rb +7 -1
- data/lib/sprout/file_target.rb +11 -11
- data/lib/sprout/generator.rb +244 -0
- data/lib/sprout/generator/base.rb +0 -94
- data/lib/sprout/generators/generator/generator_generator.rb +35 -1
- data/lib/sprout/generators/generator/templates/generator_class.rb +3 -3
- data/lib/sprout/library.rb +75 -0
- data/lib/sprout/log.rb +11 -12
- data/lib/sprout/process_runner.rb +29 -9
- data/lib/sprout/remote_file_target.rb +20 -9
- data/lib/sprout/system/base_system.rb +11 -3
- data/lib/sprout/test/sprout_test_case.rb +1 -0
- data/lib/sprout/version.rb +7 -11
- data/rakefile.rb +7 -12
- data/script/add_param_handler.rb +43 -0
- data/sprout.gemspec +2 -3
- data/test/fixtures/executable/fdb.rb +764 -0
- data/test/fixtures/executable/flex3sdk_gem/fdb +60 -0
- data/test/fixtures/executable/mxmlc.rb +9 -11
- data/test/unit/daemon_test.rb +61 -0
- data/test/unit/process_runner_test.rb +21 -0
- data/test/unit/remote_file_target_test.rb +45 -11
- data/test/unit/sprout_test_helper.rb +1 -1
- metadata +210 -29
@@ -0,0 +1,296 @@
|
|
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: generator</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: generator</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 ‘sprout/generator/base’ require ‘sprout/generator/command’ require
|
46
|
+
‘sprout/generator/manifest’ require ‘sprout/generator/file_manifest’
|
47
|
+
require ‘sprout/generator/template_manifest’ require
|
48
|
+
‘sprout/generator/directory_manifest’</p>
|
49
|
+
|
50
|
+
<p>module Sprout</p>
|
51
|
+
|
52
|
+
<pre class="code"><span class='comment'>##
|
53
|
+
</span><span class='comment'>#
|
54
|
+
</span><span class='comment'># = Introduction
|
55
|
+
</span><span class='comment'>#
|
56
|
+
</span><span class='comment'># Sprout Generators are command line applications that are
|
57
|
+
</span><span class='comment'># installed by RubyGems and should universally provide the
|
58
|
+
</span><span class='comment'># following features:
|
59
|
+
</span><span class='comment'>#
|
60
|
+
</span><span class='comment'># * Terminal tab completion to discover generators
|
61
|
+
</span><span class='comment'># * Call with no arguments to see help output
|
62
|
+
</span><span class='comment'># * Call with an +--input+ (or trailing) argument to create
|
63
|
+
</span><span class='comment'># * Call with a collection of arguments given on a previous run
|
64
|
+
</span><span class='comment'># plus +--delete+ to undo a previous +create+
|
65
|
+
</span><span class='comment'>#
|
66
|
+
</span><span class='comment'># = Usage
|
67
|
+
</span><span class='comment'>#
|
68
|
+
</span><span class='comment'># == Discovery
|
69
|
+
</span><span class='comment'>#
|
70
|
+
</span><span class='comment'># Sprout generators should be installed by RubyGems as command line
|
71
|
+
</span><span class='comment'># applications on your system. After installing the flashsdk gem, you
|
72
|
+
</span><span class='comment'># should have access to a variety of generators. You can find out what
|
73
|
+
</span><span class='comment'># generators are available by typing: sprout- followed by pressing the
|
74
|
+
</span><span class='comment'># <TAB> key.
|
75
|
+
</span><span class='comment'>#
|
76
|
+
</span><span class='comment'># Your terminal should list out all available applications that match
|
77
|
+
</span><span class='comment'># this name.
|
78
|
+
</span><span class='comment'>#
|
79
|
+
</span><span class='comment'># Some generators are expected to create new projects, others expect to
|
80
|
+
</span><span class='comment'># run within existing projects. You should be able to infer the kind of
|
81
|
+
</span><span class='comment'># generator you're looking at by the name, but if you can't just run the
|
82
|
+
</span><span class='comment'># generator with no arguments to see it's usage guidelines.
|
83
|
+
</span><span class='comment'>#
|
84
|
+
</span><span class='comment'># Generators that expect to be run from within a project will usually
|
85
|
+
</span><span class='comment'># expect a file named +Gemfile+ to exist in the project root. If you're
|
86
|
+
</span><span class='comment'># trying to run Sprout generators in a project that wasn't created using
|
87
|
+
</span><span class='comment'># Sprouts, create this file and add the Rubygems that include the
|
88
|
+
</span><span class='comment'># generators that you want to use.
|
89
|
+
</span><span class='comment'>#
|
90
|
+
</span><span class='comment'># == Execution
|
91
|
+
</span><span class='comment'>#
|
92
|
+
</span><span class='comment'># Generators are created by human beings and sometimes they have
|
93
|
+
</span><span class='comment'># different assumptions than you do. If you're running a generator
|
94
|
+
</span><span class='comment'># within a project (especially for the first time - or since updating a
|
95
|
+
</span><span class='comment'># gem), be sure to get your project checked into version control before
|
96
|
+
</span><span class='comment'># running anything.
|
97
|
+
</span><span class='comment'>#
|
98
|
+
</span><span class='comment'># Non-application generators should always be executed at the project
|
99
|
+
</span><span class='comment'># root (where you store your Rakefile, Gemfile or build.xml).
|
100
|
+
</span><span class='comment'>#
|
101
|
+
</span><span class='comment'># == Deletion
|
102
|
+
</span><span class='comment'>#
|
103
|
+
</span><span class='comment'># Any generator that inherits from the provided Sprout::Generators::Base
|
104
|
+
</span><span class='comment'># includes support for deletion. If you run a generator and realize that
|
105
|
+
</span><span class='comment'># you don't want the files that it created, you can always run the same
|
106
|
+
</span><span class='comment'># generator again with the same arguments, but add the --delete (or -d)
|
107
|
+
</span><span class='comment'># argument.
|
108
|
+
</span><span class='comment'>#
|
109
|
+
</span><span class='comment'># == Templates
|
110
|
+
</span><span class='comment'>#
|
111
|
+
</span><span class='comment'># Each time a generator is asked to locate a template, it begins a lookup
|
112
|
+
</span><span class='comment'># process. This process is designed to make it easy for you to modify any
|
113
|
+
</span><span class='comment'># template at the scope you desire.
|
114
|
+
</span><span class='comment'>#
|
115
|
+
</span><span class='comment'># The lookup process will end at the first location where the expected
|
116
|
+
</span><span class='comment'># file is found.
|
117
|
+
</span><span class='comment'>#
|
118
|
+
</span><span class='comment'># The search will begin with the location specified by the +-templates+
|
119
|
+
</span><span class='comment'># option (if provided) and will continue by adding '/templates' to the
|
120
|
+
</span><span class='comment'># end of each location specified by the listing for
|
121
|
+
</span><span class='comment'># Sprout::Generator#search_paths .
|
122
|
+
</span><span class='comment'>#
|
123
|
+
</span><span class='comment'># = Creation
|
124
|
+
</span><span class='comment'>#
|
125
|
+
</span><span class='comment'># The core Sprout gem comes with a Sprout::GeneratorGenerator. This command line
|
126
|
+
</span><span class='comment'># application is intended to be executed within a project and given the name
|
127
|
+
</span><span class='comment'># of a generator that you'd like to create.
|
128
|
+
</span><span class='comment'>#
|
129
|
+
</span><span class='comment'># Try experimenting with this, and please
|
130
|
+
</span><span class='comment'># suggest[http://groups.google.com/group/projectsprouts/] any improvements to
|
131
|
+
</span><span class='comment'># the Google Group.
|
132
|
+
</span><span class='comment'>#
|
133
|
+
</span><span class='comment'># ---
|
134
|
+
</span><span class='comment'>#
|
135
|
+
</span><span class='comment'># Back to Home: {file:README.textile}
|
136
|
+
</span><span class='comment'>#
|
137
|
+
</span><span class='comment'># Next Topic: {Sprout::Library}
|
138
|
+
</span><span class='comment'>#
|
139
|
+
</span><span class='comment'># ---
|
140
|
+
</span><span class='comment'>#
|
141
|
+
</span><span class='comment'># @see Sprout::GeneratorGenerator
|
142
|
+
</span><span class='comment'># @see Sprout::Library
|
143
|
+
</span><span class='comment'># @see Sprout::Executable
|
144
|
+
</span><span class='comment'># @see Sprout::Specification
|
145
|
+
</span><span class='comment'># @see Sprout::RubyFeature
|
146
|
+
</span><span class='comment'># @see Sprout::System
|
147
|
+
</span><span class='comment'>#
|
148
|
+
</span><span class='kw'>module</span> <span class='const'>Generator</span>
|
149
|
+
<span class='id include'>include</span> <span class='const'>RubyFeature</span>
|
150
|
+
|
151
|
+
<span class='kw'>class</span> <span class='op'><<</span> <span class='kw'>self</span>
|
152
|
+
|
153
|
+
<span class='comment'>##
|
154
|
+
</span> <span class='comment'># Register a generator class and template path for future use.
|
155
|
+
</span> <span class='comment'># Generator class names must end with "Generator", and everything
|
156
|
+
</span> <span class='comment'># to the left will be used for future lookups.
|
157
|
+
</span> <span class='comment'>#
|
158
|
+
</span> <span class='comment'># The following example will register a TestGenerator that can be
|
159
|
+
</span> <span class='comment'># retrieved as +:test+.
|
160
|
+
</span> <span class='comment'>#
|
161
|
+
</span> <span class='comment'># Sprout::Generator.register TestGenerator
|
162
|
+
</span> <span class='comment'>#
|
163
|
+
</span> <span class='comment'># @param generator_class [Class] A reference to the concrete Generator class.
|
164
|
+
</span> <span class='comment'># Usually these classes extend Sprout::Generator::Base.
|
165
|
+
</span> <span class='comment'># @param templates_path [Directory] The path to the default templates that should
|
166
|
+
</span> <span class='comment'># be used for this generator. By default, a folder named +templates+ relative to
|
167
|
+
</span> <span class='comment'># the class definition will be used. Templates will also be searched for in a variety
|
168
|
+
</span> <span class='comment'># of locations depending on the user system. This path is simply the final searching
|
169
|
+
</span> <span class='comment'># point.
|
170
|
+
</span> <span class='comment'># @return [Hash] the entity that was stored to represent the provided Generator.
|
171
|
+
</span> <span class='comment'># The entity will generally have the keys, :class and :templates.
|
172
|
+
</span> <span class='kw'>def</span> <span class='id register'>register</span> <span class='id generator_class'>generator_class</span><span class='comma'>,</span> <span class='id templates_path'>templates_path</span><span class='op'>=</span><span class='kw'>nil</span>
|
173
|
+
<span class='id generator_paths'>generator_paths</span> <span class='op'><<</span> <span class='lbrace'>{</span> <span class='symbol'>:class</span> <span class='op'>=></span> <span class='id generator_class'>generator_class</span><span class='comma'>,</span> <span class='symbol'>:templates</span> <span class='op'>=></span> <span class='id templates_path'>templates_path</span> <span class='rbrace'>}</span> <span class='kw'>unless</span> <span class='id templates_path'>templates_path</span><span class='period'>.</span><span class='id nil?'>nil?</span>
|
174
|
+
<span class='kw'>super</span><span class='lparen'>(</span><span class='id generator_class'>generator_class</span><span class='rparen'>)</span>
|
175
|
+
<span class='kw'>end</span>
|
176
|
+
|
177
|
+
<span class='comment'>##
|
178
|
+
</span> <span class='comment'># Create an instance of a concrete Generator using a +type+ argument.
|
179
|
+
</span> <span class='comment'>#
|
180
|
+
</span> <span class='comment'># The idea is that libraries may register a generator class named,
|
181
|
+
</span> <span class='comment'># +TestGenerator+, and other generators can instantiate it without
|
182
|
+
</span> <span class='comment'># including it's Class by reference with:
|
183
|
+
</span> <span class='comment'>#
|
184
|
+
</span> <span class='comment'># Sprout::Generator.create_instance :test
|
185
|
+
</span> <span class='comment'>#
|
186
|
+
</span> <span class='comment'># @param type [Symbol] A snake-cased name of the class without the Generator suffix.
|
187
|
+
</span> <span class='comment'># for example, to instantiate a generator named, +TestSuiteGenerator+, this argument
|
188
|
+
</span> <span class='comment'># would be +:test_suite+
|
189
|
+
</span> <span class='comment'># @param options [Hash] deprecated - please remove this argument wherever it's found.
|
190
|
+
</span> <span class='kw'>def</span> <span class='id create_instance'>create_instance</span> <span class='id type'>type</span><span class='comma'>,</span> <span class='id options'>options</span><span class='op'>=</span><span class='kw'>nil</span>
|
191
|
+
<span class='id class_name'>class_name</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id type'>type</span><span class='period'>.</span><span class='id to_s'>to_s</span><span class='period'>.</span><span class='id camel_case'>camel_case</span><span class='rbrace'>}</span><span class='tstring_content'>Generator</span><span class='tstring_end'>"</span></span>
|
192
|
+
<span class='id registered_entities'>registered_entities</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id entity'>entity</span><span class='op'>|</span>
|
193
|
+
<span class='kw'>if</span><span class='lparen'>(</span><span class='id entity'>entity</span><span class='period'>.</span><span class='id to_s'>to_s</span><span class='period'>.</span><span class='id match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>::</span><span class='embexpr_beg'>#{</span><span class='id class_name'>class_name</span><span class='rbrace'>}</span><span class='tstring_content'>$</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='op'>||</span> <span class='id entity'>entity</span><span class='period'>.</span><span class='id to_s'>to_s</span><span class='period'>.</span><span class='id match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^</span><span class='embexpr_beg'>#{</span><span class='id class_name'>class_name</span><span class='rbrace'>}</span><span class='tstring_content'>$</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
|
194
|
+
<span class='kw'>return</span> <span class='id entity'>entity</span><span class='period'>.</span><span class='id new'>new</span>
|
195
|
+
<span class='kw'>end</span>
|
196
|
+
<span class='kw'>end</span>
|
197
|
+
<span class='id raise'>raise</span> <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>MissingGeneratorError</span><span class='period'>.</span><span class='id new'>new</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Could not find any generator named: (</span><span class='embexpr_beg'>#{</span><span class='id class_name'>class_name</span><span class='rbrace'>}</span><span class='tstring_content'>). Perhaps you need to add a RubyGem to your Gemfile?</span><span class='tstring_end'>"</span></span>
|
198
|
+
<span class='kw'>end</span>
|
199
|
+
|
200
|
+
<span class='comment'>##
|
201
|
+
</span> <span class='comment'># Retrieve the root template folder for the provided Class.
|
202
|
+
</span> <span class='comment'>#
|
203
|
+
</span> <span class='comment'># This method will look for a templates folder next to
|
204
|
+
</span> <span class='comment'># each superclass in the inheritance chain.
|
205
|
+
</span> <span class='comment'>#
|
206
|
+
</span> <span class='kw'>def</span> <span class='id template_folder_for'>template_folder_for</span> <span class='id clazz'>clazz</span>
|
207
|
+
<span class='comment'># Search the potential matches in reverse order
|
208
|
+
</span> <span class='comment'># because subclasses have registered AFTER their
|
209
|
+
</span> <span class='comment'># superclasses and superclasses match the ===
|
210
|
+
</span> <span class='comment'># check...
|
211
|
+
</span> <span class='id generator_paths'>generator_paths</span><span class='period'>.</span><span class='id reverse'>reverse</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id options'>options</span><span class='op'>|</span>
|
212
|
+
<span class='kw'>if</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:class</span><span class='rbracket'>]</span> <span class='op'>===</span> <span class='id clazz'>clazz</span>
|
213
|
+
<span class='kw'>return</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:templates</span><span class='rbracket'>]</span>
|
214
|
+
<span class='kw'>end</span>
|
215
|
+
<span class='kw'>end</span>
|
216
|
+
<span class='kw'>nil</span>
|
217
|
+
<span class='kw'>end</span>
|
218
|
+
|
219
|
+
<span class='comment'>##
|
220
|
+
</span> <span class='comment'># Returns a new collection of paths to search within for generator
|
221
|
+
</span> <span class='comment'># declarations and more importantly, folders named, 'templates'.
|
222
|
+
</span> <span class='comment'>#
|
223
|
+
</span> <span class='comment'># The collection of search_paths will be a subset of the following
|
224
|
+
</span> <span class='comment'># that will include only those directories that exist:
|
225
|
+
</span> <span class='comment'>#
|
226
|
+
</span> <span class='comment'># ./config/generators
|
227
|
+
</span> <span class='comment'># ./vendor/generators
|
228
|
+
</span> <span class='comment'># ~/Library/Sprouts/1.0/generators # OS X only
|
229
|
+
</span> <span class='comment'># ~/.sprouts/1.0/generators # Unix only
|
230
|
+
</span> <span class='comment'># [USER_HOME]/Application Data/Sprouts/cache/1.0/generators # Windows only
|
231
|
+
</span> <span class='comment'># ENV['SPROUT_GENERATORS'] # Only if defined
|
232
|
+
</span> <span class='comment'># [Generator Declaration __FILE__]
|
233
|
+
</span> <span class='comment'># [Generator SUPER-class declaration __FILE__]
|
234
|
+
</span> <span class='comment'># [Repeat step above until there is no super-class]
|
235
|
+
</span> <span class='comment'>#
|
236
|
+
</span> <span class='comment'># When the generators attempt to resolve templates, each of the preceding
|
237
|
+
</span> <span class='comment'># folders will be scanned for a child directory named 'templates'. Within
|
238
|
+
</span> <span class='comment'># that directory, the requested template name will be scanned and the first
|
239
|
+
</span> <span class='comment'># found template file will be used. This process will be repeated for each
|
240
|
+
</span> <span class='comment'># template file that is requested.
|
241
|
+
</span> <span class='comment'>#
|
242
|
+
</span> <span class='comment'># The results of this search are not cached, so you can override a single
|
243
|
+
</span> <span class='comment'># template and leave the rest wherever the generator has defined them.
|
244
|
+
</span> <span class='comment'>#
|
245
|
+
</span> <span class='comment'># @return [Array] of paths
|
246
|
+
</span> <span class='comment'>#
|
247
|
+
</span> <span class='kw'>def</span> <span class='id search_paths'>search_paths</span>
|
248
|
+
<span class='comment'># NOTE: Do not cache this list, specific generators
|
249
|
+
</span> <span class='comment'># will modify it with their own lookups
|
250
|
+
</span> <span class='id create_search_paths'>create_search_paths</span><span class='period'>.</span><span class='id select'>select</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id path'>path</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> <span class='rbrace'>}</span>
|
251
|
+
<span class='kw'>end</span>
|
252
|
+
|
253
|
+
<span class='id private'>private</span>
|
254
|
+
|
255
|
+
<span class='kw'>def</span> <span class='id create_search_paths'>create_search_paths</span>
|
256
|
+
<span class='id paths'>paths</span> <span class='op'>=</span> <span class='lbracket'>[</span>
|
257
|
+
<span class='const'>File</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'>config</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>generators</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='comma'>,</span>
|
258
|
+
<span class='const'>File</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'>vendor</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>generators</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='comma'>,</span>
|
259
|
+
<span class='const'>Sprout</span><span class='period'>.</span><span class='id generator_cache'>generator_cache</span>
|
260
|
+
<span class='rbracket'>]</span>
|
261
|
+
<span class='id paths'>paths</span> <span class='op'><<</span> <span class='const'>ENV</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>SPROUT_GENERATORS</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='kw'>unless</span> <span class='const'>ENV</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>SPROUT_GENERATORS</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id nil?'>nil?</span>
|
262
|
+
<span class='id paths'>paths</span>
|
263
|
+
<span class='kw'>end</span>
|
264
|
+
|
265
|
+
<span class='comment'>##
|
266
|
+
</span> <span class='comment'># I know this seems weird - but we can't instantiate the classes
|
267
|
+
</span> <span class='comment'># during registration because they register before they've been fully
|
268
|
+
</span> <span class='comment'># interpreted...
|
269
|
+
</span> <span class='kw'>def</span> <span class='id update_registered_entities'>update_registered_entities</span>
|
270
|
+
<span class='id registered_entities'>registered_entities</span><span class='period'>.</span><span class='id collect!'>collect!</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id gen'>gen</span><span class='op'>|</span>
|
271
|
+
<span class='lparen'>(</span><span class='id gen'>gen</span><span class='period'>.</span><span class='id is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Class</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id gen'>gen</span><span class='period'>.</span><span class='id new'>new</span> <span class='op'>:</span> <span class='id gen'>gen</span>
|
272
|
+
<span class='kw'>end</span>
|
273
|
+
<span class='kw'>end</span>
|
274
|
+
|
275
|
+
<span class='kw'>def</span> <span class='id configure_instance'>configure_instance</span> <span class='id generator'>generator</span>
|
276
|
+
<span class='id generator'>generator</span>
|
277
|
+
<span class='kw'>end</span>
|
278
|
+
|
279
|
+
<span class='kw'>def</span> <span class='id generator_paths'>generator_paths</span>
|
280
|
+
<span class='ivar'>@generator_paths</span> <span class='op'>||=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
281
|
+
<span class='kw'>end</span>
|
282
|
+
|
283
|
+
<span class='kw'>end</span>
|
284
|
+
<span class='kw'>end</span></pre>
|
285
|
+
|
286
|
+
<p>end</p>
|
287
|
+
</div></div>
|
288
|
+
|
289
|
+
<div id="footer">
|
290
|
+
Generated on Wed Dec 22 11:58:32 2010 by
|
291
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
292
|
+
0.6.3 (ruby-1.9.2).
|
293
|
+
</div>
|
294
|
+
|
295
|
+
</body>
|
296
|
+
</html>
|
@@ -0,0 +1,72 @@
|
|
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: generator_class</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: generator_class</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">class <%= input.camel_case %>Generator < Generator::Base
|
48
|
+
|
49
|
+
##
|
50
|
+
# This is how you add a parameter to your generator
|
51
|
+
#
|
52
|
+
# add_param :fwee, String, :default => "fwee"
|
53
|
+
#
|
54
|
+
def manifest
|
55
|
+
directory input.snake_case do
|
56
|
+
template "#{input.camel_case}<%= extension %>"
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
end</pre>
|
61
|
+
|
62
|
+
<p>end</p>
|
63
|
+
</div></div>
|
64
|
+
|
65
|
+
<div id="footer">
|
66
|
+
Generated on Wed Dec 22 11:58:32 2010 by
|
67
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
68
|
+
0.6.3 (ruby-1.9.2).
|
69
|
+
</div>
|
70
|
+
|
71
|
+
</body>
|
72
|
+
</html>
|
@@ -0,0 +1,137 @@
|
|
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: generator_generator</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: generator_generator</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='kw'>class</span> <span class='const'>GeneratorGenerator</span> <span class='op'><</span> <span class='const'>Generator</span><span class='op'>::</span><span class='const'>Base</span>
|
48
|
+
|
49
|
+
<span class='comment'>##
|
50
|
+
</span> <span class='comment'># The default module that classes will be added
|
51
|
+
</span> <span class='comment'># to.
|
52
|
+
</span> <span class='id add_param'>add_param</span> <span class='symbol'>:namespace</span><span class='comma'>,</span> <span class='const'>String</span><span class='comma'>,</span> <span class='lbrace'>{</span> <span class='symbol'>:default</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rbrace'>}</span>
|
53
|
+
|
54
|
+
<span class='comment'>##
|
55
|
+
</span> <span class='comment'># The name of the folder where external libraries
|
56
|
+
</span> <span class='comment'># will be installed.
|
57
|
+
</span> <span class='id add_param'>add_param</span> <span class='symbol'>:lib</span><span class='comma'>,</span> <span class='const'>String</span><span class='comma'>,</span> <span class='lbrace'>{</span> <span class='symbol'>:default</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>lib</span><span class='tstring_end'>'</span></span> <span class='rbrace'>}</span>
|
58
|
+
|
59
|
+
<span class='comment'>##
|
60
|
+
</span> <span class='comment'># The name of the folder where custom generators and templates
|
61
|
+
</span> <span class='comment'># will be found.
|
62
|
+
</span> <span class='id add_param'>add_param</span> <span class='symbol'>:generators</span><span class='comma'>,</span> <span class='const'>String</span><span class='comma'>,</span> <span class='lbrace'>{</span> <span class='symbol'>:default</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>generators</span><span class='tstring_end'>'</span></span> <span class='rbrace'>}</span>
|
63
|
+
|
64
|
+
<span class='comment'>##
|
65
|
+
</span> <span class='comment'># The name of the folder where tests should be generated.
|
66
|
+
</span> <span class='id add_param'>add_param</span> <span class='symbol'>:test</span><span class='comma'>,</span> <span class='const'>String</span><span class='comma'>,</span> <span class='lbrace'>{</span> <span class='symbol'>:default</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>test</span><span class='tstring_end'>'</span></span> <span class='rbrace'>}</span>
|
67
|
+
|
68
|
+
<span class='comment'>##
|
69
|
+
</span> <span class='comment'># The name of the child folder of the test folder where
|
70
|
+
</span> <span class='comment'># unit tests should be generated.
|
71
|
+
</span> <span class='id add_param'>add_param</span> <span class='symbol'>:unit</span><span class='comma'>,</span> <span class='const'>String</span><span class='comma'>,</span> <span class='lbrace'>{</span> <span class='symbol'>:default</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>unit</span><span class='tstring_end'>'</span></span> <span class='rbrace'>}</span>
|
72
|
+
|
73
|
+
<span class='comment'>##
|
74
|
+
</span> <span class='comment'># The name of the child folder of the test folder where
|
75
|
+
</span> <span class='comment'># fixtures should be generated.
|
76
|
+
</span> <span class='id add_param'>add_param</span> <span class='symbol'>:fixtures</span><span class='comma'>,</span> <span class='const'>String</span><span class='comma'>,</span> <span class='lbrace'>{</span> <span class='symbol'>:default</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>fixtures</span><span class='tstring_end'>'</span></span> <span class='rbrace'>}</span>
|
77
|
+
|
78
|
+
<span class='comment'>##
|
79
|
+
</span> <span class='comment'># The name of the folder where external source code
|
80
|
+
</span> <span class='comment'># should be placed.
|
81
|
+
</span> <span class='id add_param'>add_param</span> <span class='symbol'>:vendor</span><span class='comma'>,</span> <span class='const'>String</span><span class='comma'>,</span> <span class='lbrace'>{</span> <span class='symbol'>:default</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>vendor</span><span class='tstring_end'>'</span></span> <span class='rbrace'>}</span>
|
82
|
+
|
83
|
+
<span class='comment'>##
|
84
|
+
</span> <span class='comment'># The name of the folder where binary or executable
|
85
|
+
</span> <span class='comment'># artifacts should be created by compiler tasks.
|
86
|
+
</span> <span class='id add_param'>add_param</span> <span class='symbol'>:bin</span><span class='comma'>,</span> <span class='const'>String</span><span class='comma'>,</span> <span class='lbrace'>{</span> <span class='symbol'>:default</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>bin</span><span class='tstring_end'>'</span></span> <span class='rbrace'>}</span>
|
87
|
+
|
88
|
+
<span class='comment'>##
|
89
|
+
</span> <span class='comment'># The default (primary) file extension for generated source
|
90
|
+
</span> <span class='comment'># files. This should hint at the project type.
|
91
|
+
</span> <span class='id add_param'>add_param</span> <span class='symbol'>:extension</span><span class='comma'>,</span> <span class='const'>String</span><span class='comma'>,</span> <span class='lbrace'>{</span> <span class='symbol'>:default</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>.as</span><span class='tstring_end'>'</span></span> <span class='rbrace'>}</span>
|
92
|
+
|
93
|
+
<span class='kw'>def</span> <span class='id manifest'>manifest</span>
|
94
|
+
<span class='id directory'>directory</span> <span class='id bin'>bin</span> <span class='kw'>do</span>
|
95
|
+
<span class='id template'>template</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id input'>input</span><span class='period'>.</span><span class='id snake_case'>snake_case</span><span class='rbrace'>}</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>generator_executable</span><span class='tstring_end'>"</span></span>
|
96
|
+
<span class='kw'>end</span>
|
97
|
+
|
98
|
+
<span class='id directory'>directory</span> <span class='id lib'>lib</span> <span class='kw'>do</span>
|
99
|
+
<span class='comment'>#We need to add a folder with the same name as the module to be used in order to faux namespace our generators to avoid collisions from super classes
|
100
|
+
</span> <span class='id directory'>directory</span> <span class='id namespace'>namespace</span> <span class='kw'>do</span>
|
101
|
+
<span class='id directory'>directory</span> <span class='id generators'>generators</span> <span class='kw'>do</span>
|
102
|
+
<span class='id template'>template</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id input'>input</span><span class='period'>.</span><span class='id snake_case'>snake_case</span><span class='rbrace'>}</span><span class='tstring_content'>_generator.rb</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>generator_class.rb</span><span class='tstring_end'>"</span></span>
|
103
|
+
<span class='id directory'>directory</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>templates</span><span class='tstring_end'>"</span></span> <span class='kw'>do</span>
|
104
|
+
<span class='id template'>template</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id input'>input</span><span class='period'>.</span><span class='id camel_case'>camel_case</span><span class='rbrace'>}</span><span class='embexpr_beg'>#{</span><span class='id extension'>extension</span><span class='rbrace'>}</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>generator_template</span><span class='tstring_end'>"</span></span>
|
105
|
+
<span class='kw'>end</span>
|
106
|
+
<span class='kw'>end</span>
|
107
|
+
<span class='kw'>end</span>
|
108
|
+
<span class='kw'>end</span>
|
109
|
+
|
110
|
+
<span class='id directory'>directory</span> <span class='id test'>test</span> <span class='kw'>do</span>
|
111
|
+
<span class='id directory'>directory</span> <span class='id unit'>unit</span> <span class='kw'>do</span>
|
112
|
+
<span class='id template'>template</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id input'>input</span><span class='period'>.</span><span class='id snake_case'>snake_case</span><span class='rbrace'>}</span><span class='tstring_content'>_generator_test.rb</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>generator_test.rb</span><span class='tstring_end'>"</span></span>
|
113
|
+
<span class='id template'>template</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>test_helper.rb</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>generator_test_helper.rb</span><span class='tstring_end'>"</span></span>
|
114
|
+
<span class='kw'>end</span>
|
115
|
+
<span class='id directory'>directory</span> <span class='id fixtures'>fixtures</span> <span class='kw'>do</span>
|
116
|
+
<span class='id directory'>directory</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>generators</span><span class='tstring_end'>"</span></span>
|
117
|
+
<span class='kw'>end</span>
|
118
|
+
<span class='kw'>end</span>
|
119
|
+
|
120
|
+
<span class='comment'>#This should actually be moved to the library generator
|
121
|
+
</span> <span class='comment'>#directory vendor
|
122
|
+
</span>
|
123
|
+
<span class='kw'>end</span>
|
124
|
+
|
125
|
+
<span class='kw'>end</span></pre>
|
126
|
+
|
127
|
+
<p>end</p>
|
128
|
+
</div></div>
|
129
|
+
|
130
|
+
<div id="footer">
|
131
|
+
Generated on Wed Dec 22 11:58:32 2010 by
|
132
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
133
|
+
0.6.3 (ruby-1.9.2).
|
134
|
+
</div>
|
135
|
+
|
136
|
+
</body>
|
137
|
+
</html>
|