nucleon 0.1.19 → 0.2.0

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.
Files changed (159) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +1 -0
  4. data/TODO.rdoc +0 -3
  5. data/VERSION +1 -1
  6. data/bin/nucleon +19 -0
  7. data/lib/core/config.rb +11 -7
  8. data/lib/core/environment.rb +338 -0
  9. data/lib/core/facade.rb +150 -98
  10. data/lib/core/manager.rb +160 -249
  11. data/lib/core/mixin/action/project.rb +2 -2
  12. data/lib/core/mixin/macro/plugin_interface.rb +11 -11
  13. data/lib/core/plugin/action.rb +277 -24
  14. data/lib/core/plugin/base.rb +22 -14
  15. data/lib/core/plugin/command.rb +1 -1
  16. data/lib/core/plugin/event.rb +3 -3
  17. data/lib/core/plugin/extension.rb +1 -1
  18. data/lib/core/plugin/project.rb +15 -15
  19. data/lib/core/plugin/template.rb +1 -1
  20. data/lib/core/plugin/translator.rb +1 -1
  21. data/lib/core/util/cache.rb +1 -1
  22. data/lib/core/util/cli.rb +32 -3
  23. data/lib/core/util/console.rb +30 -10
  24. data/lib/core/util/data.rb +11 -3
  25. data/lib/core/util/logger.rb +1 -1
  26. data/lib/core/util/shell.rb +6 -3
  27. data/lib/core/util/ssh.rb +148 -24
  28. data/lib/nucleon/action/extract.rb +11 -4
  29. data/lib/nucleon/action/{add.rb → project/add.rb} +13 -4
  30. data/lib/nucleon/action/{create.rb → project/create.rb} +12 -3
  31. data/lib/nucleon/action/{remove.rb → project/remove.rb} +11 -2
  32. data/lib/nucleon/action/{save.rb → project/save.rb} +11 -2
  33. data/lib/nucleon/action/{update.rb → project/update.rb} +11 -2
  34. data/lib/nucleon/command/bash.rb +1 -1
  35. data/lib/nucleon/event/regex.rb +1 -1
  36. data/lib/nucleon/project/git.rb +3 -3
  37. data/lib/nucleon/template/{json.rb → JSON.rb} +1 -1
  38. data/lib/nucleon/template/{yaml.rb → YAML.rb} +1 -1
  39. data/lib/nucleon/template/wrapper.rb +1 -1
  40. data/lib/nucleon/translator/{json.rb → JSON.rb} +1 -1
  41. data/lib/nucleon/translator/{yaml.rb → YAML.rb} +1 -1
  42. data/lib/nucleon_base.rb +26 -15
  43. data/locales/en.yml +69 -44
  44. data/nucleon.gemspec +129 -11
  45. data/rdoc/site/0.1.19/ARCHITECTURE_rdoc.html +634 -0
  46. data/rdoc/site/0.1.19/Hash.html +347 -0
  47. data/rdoc/site/0.1.19/Kernel.html +413 -0
  48. data/rdoc/site/0.1.19/Nucleon.html +570 -0
  49. data/rdoc/site/0.1.19/Nucleon/Action.html +280 -0
  50. data/rdoc/site/0.1.19/Nucleon/Action/Add.html +458 -0
  51. data/rdoc/site/0.1.19/Nucleon/Action/Create.html +415 -0
  52. data/rdoc/site/0.1.19/Nucleon/Action/Extract.html +413 -0
  53. data/rdoc/site/0.1.19/Nucleon/Action/Remove.html +461 -0
  54. data/rdoc/site/0.1.19/Nucleon/Action/Save.html +434 -0
  55. data/rdoc/site/0.1.19/Nucleon/Action/Update.html +381 -0
  56. data/rdoc/site/0.1.19/Nucleon/Codes.html +563 -0
  57. data/rdoc/site/0.1.19/Nucleon/Command.html +275 -0
  58. data/rdoc/site/0.1.19/Nucleon/Command/Bash.html +544 -0
  59. data/rdoc/site/0.1.19/Nucleon/Config.html +1623 -0
  60. data/rdoc/site/0.1.19/Nucleon/Config/Collection.html +509 -0
  61. data/rdoc/site/0.1.19/Nucleon/Config/Options.html +489 -0
  62. data/rdoc/site/0.1.19/Nucleon/Core.html +635 -0
  63. data/rdoc/site/0.1.19/Nucleon/Errors.html +275 -0
  64. data/rdoc/site/0.1.19/Nucleon/Errors/BatchError.html +281 -0
  65. data/rdoc/site/0.1.19/Nucleon/Errors/NucleonError.html +657 -0
  66. data/rdoc/site/0.1.19/Nucleon/Errors/SSHUnavailable.html +281 -0
  67. data/rdoc/site/0.1.19/Nucleon/Event.html +275 -0
  68. data/rdoc/site/0.1.19/Nucleon/Event/Regex.html +467 -0
  69. data/rdoc/site/0.1.19/Nucleon/Facade.html +2336 -0
  70. data/rdoc/site/0.1.19/Nucleon/Gems.html +635 -0
  71. data/rdoc/site/0.1.19/Nucleon/Manager.html +1828 -0
  72. data/rdoc/site/0.1.19/Nucleon/Mixin.html +284 -0
  73. data/rdoc/site/0.1.19/Nucleon/Mixin/Action.html +277 -0
  74. data/rdoc/site/0.1.19/Nucleon/Mixin/Action/Commit.html +381 -0
  75. data/rdoc/site/0.1.19/Nucleon/Mixin/Action/Project.html +395 -0
  76. data/rdoc/site/0.1.19/Nucleon/Mixin/Action/Push.html +371 -0
  77. data/rdoc/site/0.1.19/Nucleon/Mixin/Colors.html +545 -0
  78. data/rdoc/site/0.1.19/Nucleon/Mixin/ConfigCollection.html +481 -0
  79. data/rdoc/site/0.1.19/Nucleon/Mixin/ConfigOptions.html +449 -0
  80. data/rdoc/site/0.1.19/Nucleon/Mixin/Macro.html +276 -0
  81. data/rdoc/site/0.1.19/Nucleon/Mixin/Macro/ObjectInterface.html +695 -0
  82. data/rdoc/site/0.1.19/Nucleon/Mixin/Macro/PluginInterface.html +682 -0
  83. data/rdoc/site/0.1.19/Nucleon/Mixin/Settings.html +481 -0
  84. data/rdoc/site/0.1.19/Nucleon/Mixin/SubConfig.html +887 -0
  85. data/rdoc/site/0.1.19/Nucleon/Parallel.html +325 -0
  86. data/rdoc/site/0.1.19/Nucleon/Parallel/ClassMethods.html +325 -0
  87. data/rdoc/site/0.1.19/Nucleon/Parallel/InstanceMethods.html +334 -0
  88. data/rdoc/site/0.1.19/Nucleon/Plugin.html +282 -0
  89. data/rdoc/site/0.1.19/Nucleon/Plugin/Action.html +1368 -0
  90. data/rdoc/site/0.1.19/Nucleon/Plugin/Action/Option.html +459 -0
  91. data/rdoc/site/0.1.19/Nucleon/Plugin/Base.html +1737 -0
  92. data/rdoc/site/0.1.19/Nucleon/Plugin/Command.html +721 -0
  93. data/rdoc/site/0.1.19/Nucleon/Plugin/Event.html +442 -0
  94. data/rdoc/site/0.1.19/Nucleon/Plugin/Extension.html +281 -0
  95. data/rdoc/site/0.1.19/Nucleon/Plugin/Project.html +2864 -0
  96. data/rdoc/site/0.1.19/Nucleon/Plugin/Template.html +476 -0
  97. data/rdoc/site/0.1.19/Nucleon/Plugin/Translator.html +371 -0
  98. data/rdoc/site/0.1.19/Nucleon/Project.html +276 -0
  99. data/rdoc/site/0.1.19/Nucleon/Project/Git.html +1801 -0
  100. data/rdoc/site/0.1.19/Nucleon/Project/Github.html +549 -0
  101. data/rdoc/site/0.1.19/Nucleon/Template.html +277 -0
  102. data/rdoc/site/0.1.19/Nucleon/Template/Json.html +329 -0
  103. data/rdoc/site/0.1.19/Nucleon/Template/Wrapper.html +329 -0
  104. data/rdoc/site/0.1.19/Nucleon/Template/Yaml.html +329 -0
  105. data/rdoc/site/0.1.19/Nucleon/Translator.html +276 -0
  106. data/rdoc/site/0.1.19/Nucleon/Translator/Json.html +366 -0
  107. data/rdoc/site/0.1.19/Nucleon/Translator/Yaml.html +366 -0
  108. data/rdoc/site/0.1.19/Nucleon/Util.html +285 -0
  109. data/rdoc/site/0.1.19/Nucleon/Util/CLI.html +388 -0
  110. data/rdoc/site/0.1.19/Nucleon/Util/CLI/Parser.html +1183 -0
  111. data/rdoc/site/0.1.19/Nucleon/Util/Cache.html +780 -0
  112. data/rdoc/site/0.1.19/Nucleon/Util/Console.html +1294 -0
  113. data/rdoc/site/0.1.19/Nucleon/Util/Data.html +1399 -0
  114. data/rdoc/site/0.1.19/Nucleon/Util/Disk.html +522 -0
  115. data/rdoc/site/0.1.19/Nucleon/Util/Git.html +361 -0
  116. data/rdoc/site/0.1.19/Nucleon/Util/Liquid.html +365 -0
  117. data/rdoc/site/0.1.19/Nucleon/Util/Logger.html +806 -0
  118. data/rdoc/site/0.1.19/Nucleon/Util/Package.html +558 -0
  119. data/rdoc/site/0.1.19/Nucleon/Util/SSH.html +910 -0
  120. data/rdoc/site/0.1.19/Nucleon/Util/SSH/Keypair.html +453 -0
  121. data/rdoc/site/0.1.19/Nucleon/Util/Shell.html +686 -0
  122. data/rdoc/site/0.1.19/Nucleon/Util/Shell/Result.html +497 -0
  123. data/rdoc/site/0.1.19/README_rdoc.html +312 -0
  124. data/rdoc/site/0.1.19/TODO_rdoc.html +267 -0
  125. data/rdoc/site/0.1.19/created.rid +60 -0
  126. data/rdoc/site/0.1.19/images/add.png +0 -0
  127. data/rdoc/site/0.1.19/images/brick.png +0 -0
  128. data/rdoc/site/0.1.19/images/brick_link.png +0 -0
  129. data/rdoc/site/0.1.19/images/bug.png +0 -0
  130. data/rdoc/site/0.1.19/images/bullet_black.png +0 -0
  131. data/rdoc/site/0.1.19/images/bullet_toggle_minus.png +0 -0
  132. data/rdoc/site/0.1.19/images/bullet_toggle_plus.png +0 -0
  133. data/rdoc/site/0.1.19/images/date.png +0 -0
  134. data/rdoc/site/0.1.19/images/delete.png +0 -0
  135. data/rdoc/site/0.1.19/images/find.png +0 -0
  136. data/rdoc/site/0.1.19/images/loadingAnimation.gif +0 -0
  137. data/rdoc/site/0.1.19/images/macFFBgHack.png +0 -0
  138. data/rdoc/site/0.1.19/images/package.png +0 -0
  139. data/rdoc/site/0.1.19/images/page_green.png +0 -0
  140. data/rdoc/site/0.1.19/images/page_white_text.png +0 -0
  141. data/rdoc/site/0.1.19/images/page_white_width.png +0 -0
  142. data/rdoc/site/0.1.19/images/plugin.png +0 -0
  143. data/rdoc/site/0.1.19/images/ruby.png +0 -0
  144. data/rdoc/site/0.1.19/images/tag_blue.png +0 -0
  145. data/rdoc/site/0.1.19/images/tag_green.png +0 -0
  146. data/rdoc/site/0.1.19/images/transparent.png +0 -0
  147. data/rdoc/site/0.1.19/images/wrench.png +0 -0
  148. data/rdoc/site/0.1.19/images/wrench_orange.png +0 -0
  149. data/rdoc/site/0.1.19/images/zoom.png +0 -0
  150. data/rdoc/site/0.1.19/index.html +311 -0
  151. data/rdoc/site/0.1.19/js/darkfish.js +155 -0
  152. data/rdoc/site/0.1.19/js/jquery.js +18 -0
  153. data/rdoc/site/0.1.19/js/navigation.js +142 -0
  154. data/rdoc/site/0.1.19/js/search.js +94 -0
  155. data/rdoc/site/0.1.19/js/search_index.js +1 -0
  156. data/rdoc/site/0.1.19/js/searcher.js +228 -0
  157. data/rdoc/site/0.1.19/rdoc.css +543 -0
  158. data/rdoc/site/0.1.19/table_of_contents.html +1541 -0
  159. metadata +140 -11
@@ -0,0 +1,1368 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
6
+
7
+ <title>class Nucleon::Plugin::Action - nucleon 0.1.19</title>
8
+
9
+ <link type="text/css" media="screen" href="../../rdoc.css" rel="stylesheet">
10
+
11
+ <script type="text/javascript">
12
+ var rdoc_rel_prefix = "../../";
13
+ </script>
14
+
15
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
16
+ <script type="text/javascript" charset="utf-8" src="../../js/navigation.js"></script>
17
+ <script type="text/javascript" charset="utf-8" src="../../js/search_index.js"></script>
18
+ <script type="text/javascript" charset="utf-8" src="../../js/search.js"></script>
19
+ <script type="text/javascript" charset="utf-8" src="../../js/searcher.js"></script>
20
+ <script type="text/javascript" charset="utf-8" src="../../js/darkfish.js"></script>
21
+
22
+
23
+ <body id="top" class="class">
24
+ <nav id="metadata">
25
+ <nav id="home-section" class="section">
26
+ <h3 class="section-header">
27
+ <a href="../../index.html">Home</a>
28
+ <a href="../../table_of_contents.html#classes">Classes</a>
29
+ <a href="../../table_of_contents.html#methods">Methods</a>
30
+ </h3>
31
+ </nav>
32
+
33
+
34
+ <nav id="search-section" class="section project-section" class="initially-hidden">
35
+ <form action="#" method="get" accept-charset="utf-8">
36
+ <h3 class="section-header">
37
+ <input type="text" name="search" placeholder="Search" id="search-field"
38
+ title="Type to search, Up and Down to navigate, Enter to load">
39
+ </h3>
40
+ </form>
41
+
42
+ <ul id="search-results" class="initially-hidden"></ul>
43
+ </nav>
44
+
45
+
46
+ <div id="file-metadata">
47
+ <nav id="file-list-section" class="section">
48
+ <h3 class="section-header">Defined In</h3>
49
+ <ul>
50
+ <li>lib/core/plugin/action.rb
51
+ </ul>
52
+ </nav>
53
+
54
+
55
+ </div>
56
+
57
+ <div id="class-metadata">
58
+
59
+ <nav id="parent-class-section" class="section">
60
+ <h3 class="section-header">Parent</h3>
61
+
62
+ <p class="link">Base
63
+
64
+ </nav>
65
+
66
+
67
+ <!-- Method Quickref -->
68
+ <nav id="method-list-section" class="section">
69
+ <h3 class="section-header">Methods</h3>
70
+
71
+ <ul class="link-list">
72
+
73
+ <li><a href="#method-c-exec">::exec</a>
74
+
75
+ <li><a href="#method-c-exec_cli">::exec_cli</a>
76
+
77
+ <li><a href="#method-c-exec_safe">::exec_safe</a>
78
+
79
+ <li><a href="#method-i-arguments">#arguments</a>
80
+
81
+ <li><a href="#method-i-cleanup">#cleanup</a>
82
+
83
+ <li><a href="#method-i-config">#config</a>
84
+
85
+ <li><a href="#method-i-config_subset">#config_subset</a>
86
+
87
+ <li><a href="#method-i-configure">#configure</a>
88
+
89
+ <li><a href="#method-i-execute">#execute</a>
90
+
91
+ <li><a href="#method-i-help">#help</a>
92
+
93
+ <li><a href="#method-i-ignore">#ignore</a>
94
+
95
+ <li><a href="#method-i-namespace">#namespace</a>
96
+
97
+ <li><a href="#method-i-normalize">#normalize</a>
98
+
99
+ <li><a href="#method-i-options">#options</a>
100
+
101
+ <li><a href="#method-i-parse">#parse</a>
102
+
103
+ <li><a href="#method-i-parse_base">#parse_base</a>
104
+
105
+ <li><a href="#method-i-processed-3F">#processed?</a>
106
+
107
+ <li><a href="#method-i-register">#register</a>
108
+
109
+ <li><a href="#method-i-remove">#remove</a>
110
+
111
+ <li><a href="#method-i-render_options">#render_options</a>
112
+
113
+ <li><a href="#method-i-result">#result</a>
114
+
115
+ <li><a href="#method-i-result-3D">#result=</a>
116
+
117
+ <li><a href="#method-i-run">#run</a>
118
+
119
+ <li><a href="#method-i-settings">#settings</a>
120
+
121
+ <li><a href="#method-i-usage">#usage</a>
122
+
123
+ <li><a href="#method-i-usage-3D">#usage=</a>
124
+
125
+ <li><a href="#method-i-validate">#validate</a>
126
+
127
+ </ul>
128
+ </nav>
129
+
130
+ </div>
131
+
132
+ <div id="project-metadata">
133
+ <nav id="fileindex-section" class="section project-section">
134
+ <h3 class="section-header">Pages</h3>
135
+
136
+ <ul>
137
+
138
+ <li class="file"><a href="../../ARCHITECTURE_rdoc.html">ARCHITECTURE</a>
139
+
140
+ <li class="file"><a href="../../README_rdoc.html">README</a>
141
+
142
+ <li class="file"><a href="../../TODO_rdoc.html">TODO</a>
143
+
144
+ </ul>
145
+ </nav>
146
+
147
+ <nav id="classindex-section" class="section project-section">
148
+ <h3 class="section-header">Class and Module Index</h3>
149
+
150
+ <ul class="link-list">
151
+
152
+ <li><a href="../../Nucleon.html">Nucleon</a>
153
+
154
+ <li><a href="../../Nucleon/Action.html">Nucleon::Action</a>
155
+
156
+ <li><a href="../../Nucleon/Action/Add.html">Nucleon::Action::Add</a>
157
+
158
+ <li><a href="../../Nucleon/Action/Create.html">Nucleon::Action::Create</a>
159
+
160
+ <li><a href="../../Nucleon/Action/Extract.html">Nucleon::Action::Extract</a>
161
+
162
+ <li><a href="../../Nucleon/Action/Remove.html">Nucleon::Action::Remove</a>
163
+
164
+ <li><a href="../../Nucleon/Action/Save.html">Nucleon::Action::Save</a>
165
+
166
+ <li><a href="../../Nucleon/Action/Update.html">Nucleon::Action::Update</a>
167
+
168
+ <li><a href="../../Nucleon/Codes.html">Nucleon::Codes</a>
169
+
170
+ <li><a href="../../Nucleon/Command.html">Nucleon::Command</a>
171
+
172
+ <li><a href="../../Nucleon/Command/Bash.html">Nucleon::Command::Bash</a>
173
+
174
+ <li><a href="../../Nucleon/Config.html">Nucleon::Config</a>
175
+
176
+ <li><a href="../../Nucleon/Config/Collection.html">Nucleon::Config::Collection</a>
177
+
178
+ <li><a href="../../Nucleon/Config/Options.html">Nucleon::Config::Options</a>
179
+
180
+ <li><a href="../../Nucleon/Core.html">Nucleon::Core</a>
181
+
182
+ <li><a href="../../Nucleon/Errors.html">Nucleon::Errors</a>
183
+
184
+ <li><a href="../../Nucleon/Errors/BatchError.html">Nucleon::Errors::BatchError</a>
185
+
186
+ <li><a href="../../Nucleon/Errors/NucleonError.html">Nucleon::Errors::NucleonError</a>
187
+
188
+ <li><a href="../../Nucleon/Errors/SSHUnavailable.html">Nucleon::Errors::SSHUnavailable</a>
189
+
190
+ <li><a href="../../Nucleon/Event.html">Nucleon::Event</a>
191
+
192
+ <li><a href="../../Nucleon/Event/Regex.html">Nucleon::Event::Regex</a>
193
+
194
+ <li><a href="../../Nucleon/Facade.html">Nucleon::Facade</a>
195
+
196
+ <li><a href="../../Nucleon/Gems.html">Nucleon::Gems</a>
197
+
198
+ <li><a href="../../Nucleon/Manager.html">Nucleon::Manager</a>
199
+
200
+ <li><a href="../../Nucleon/Mixin.html">Nucleon::Mixin</a>
201
+
202
+ <li><a href="../../Nucleon/Mixin/Action.html">Nucleon::Mixin::Action</a>
203
+
204
+ <li><a href="../../Nucleon/Mixin/Action/Commit.html">Nucleon::Mixin::Action::Commit</a>
205
+
206
+ <li><a href="../../Nucleon/Mixin/Action/Project.html">Nucleon::Mixin::Action::Project</a>
207
+
208
+ <li><a href="../../Nucleon/Mixin/Action/Push.html">Nucleon::Mixin::Action::Push</a>
209
+
210
+ <li><a href="../../Nucleon/Mixin/Colors.html">Nucleon::Mixin::Colors</a>
211
+
212
+ <li><a href="../../Nucleon/Mixin/ConfigCollection.html">Nucleon::Mixin::ConfigCollection</a>
213
+
214
+ <li><a href="../../Nucleon/Mixin/ConfigOptions.html">Nucleon::Mixin::ConfigOptions</a>
215
+
216
+ <li><a href="../../Nucleon/Mixin/Macro.html">Nucleon::Mixin::Macro</a>
217
+
218
+ <li><a href="../../Nucleon/Mixin/Macro/ObjectInterface.html">Nucleon::Mixin::Macro::ObjectInterface</a>
219
+
220
+ <li><a href="../../Nucleon/Mixin/Macro/PluginInterface.html">Nucleon::Mixin::Macro::PluginInterface</a>
221
+
222
+ <li><a href="../../Nucleon/Mixin/Settings.html">Nucleon::Mixin::Settings</a>
223
+
224
+ <li><a href="../../Nucleon/Mixin/SubConfig.html">Nucleon::Mixin::SubConfig</a>
225
+
226
+ <li><a href="../../Nucleon/Parallel.html">Nucleon::Parallel</a>
227
+
228
+ <li><a href="../../Nucleon/Parallel/ClassMethods.html">Nucleon::Parallel::ClassMethods</a>
229
+
230
+ <li><a href="../../Nucleon/Parallel/InstanceMethods.html">Nucleon::Parallel::InstanceMethods</a>
231
+
232
+ <li><a href="../../Nucleon/Plugin.html">Nucleon::Plugin</a>
233
+
234
+ <li><a href="../../Nucleon/Plugin/Action.html">Nucleon::Plugin::Action</a>
235
+
236
+ <li><a href="../../Nucleon/Plugin/Action/Option.html">Nucleon::Plugin::Action::Option</a>
237
+
238
+ <li><a href="../../Nucleon/Plugin/Base.html">Nucleon::Plugin::Base</a>
239
+
240
+ <li><a href="../../Nucleon/Plugin/Command.html">Nucleon::Plugin::Command</a>
241
+
242
+ <li><a href="../../Nucleon/Plugin/Event.html">Nucleon::Plugin::Event</a>
243
+
244
+ <li><a href="../../Nucleon/Plugin/Extension.html">Nucleon::Plugin::Extension</a>
245
+
246
+ <li><a href="../../Nucleon/Plugin/Project.html">Nucleon::Plugin::Project</a>
247
+
248
+ <li><a href="../../Nucleon/Plugin/Template.html">Nucleon::Plugin::Template</a>
249
+
250
+ <li><a href="../../Nucleon/Plugin/Translator.html">Nucleon::Plugin::Translator</a>
251
+
252
+ <li><a href="../../Nucleon/Project.html">Nucleon::Project</a>
253
+
254
+ <li><a href="../../Nucleon/Project/Git.html">Nucleon::Project::Git</a>
255
+
256
+ <li><a href="../../Nucleon/Project/Github.html">Nucleon::Project::Github</a>
257
+
258
+ <li><a href="../../Nucleon/Template.html">Nucleon::Template</a>
259
+
260
+ <li><a href="../../Nucleon/Template/Json.html">Nucleon::Template::Json</a>
261
+
262
+ <li><a href="../../Nucleon/Template/Wrapper.html">Nucleon::Template::Wrapper</a>
263
+
264
+ <li><a href="../../Nucleon/Template/Yaml.html">Nucleon::Template::Yaml</a>
265
+
266
+ <li><a href="../../Nucleon/Translator.html">Nucleon::Translator</a>
267
+
268
+ <li><a href="../../Nucleon/Translator/Json.html">Nucleon::Translator::Json</a>
269
+
270
+ <li><a href="../../Nucleon/Translator/Yaml.html">Nucleon::Translator::Yaml</a>
271
+
272
+ <li><a href="../../Nucleon/Util.html">Nucleon::Util</a>
273
+
274
+ <li><a href="../../Nucleon/Util/CLI.html">Nucleon::Util::CLI</a>
275
+
276
+ <li><a href="../../Nucleon/Util/CLI/Parser.html">Nucleon::Util::CLI::Parser</a>
277
+
278
+ <li><a href="../../Nucleon/Util/Cache.html">Nucleon::Util::Cache</a>
279
+
280
+ <li><a href="../../Nucleon/Util/Console.html">Nucleon::Util::Console</a>
281
+
282
+ <li><a href="../../Nucleon/Util/Data.html">Nucleon::Util::Data</a>
283
+
284
+ <li><a href="../../Nucleon/Util/Disk.html">Nucleon::Util::Disk</a>
285
+
286
+ <li><a href="../../Nucleon/Util/Git.html">Nucleon::Util::Git</a>
287
+
288
+ <li><a href="../../Nucleon/Util/Liquid.html">Nucleon::Util::Liquid</a>
289
+
290
+ <li><a href="../../Nucleon/Util/Logger.html">Nucleon::Util::Logger</a>
291
+
292
+ <li><a href="../../Nucleon/Util/Package.html">Nucleon::Util::Package</a>
293
+
294
+ <li><a href="../../Nucleon/Util/SSH.html">Nucleon::Util::SSH</a>
295
+
296
+ <li><a href="../../Nucleon/Util/SSH/Keypair.html">Nucleon::Util::SSH::Keypair</a>
297
+
298
+ <li><a href="../../Nucleon/Util/Shell.html">Nucleon::Util::Shell</a>
299
+
300
+ <li><a href="../../Nucleon/Util/Shell/Result.html">Nucleon::Util::Shell::Result</a>
301
+
302
+ <li><a href="../../Hash.html">Hash</a>
303
+
304
+ <li><a href="../../Kernel.html">Kernel</a>
305
+
306
+ </ul>
307
+ </nav>
308
+
309
+ </div>
310
+ </nav>
311
+
312
+ <div id="documentation">
313
+ <h1 class="class">class Nucleon::Plugin::Action</h1>
314
+
315
+ <div id="description" class="description">
316
+
317
+ </div><!-- description -->
318
+
319
+
320
+
321
+
322
+ <section id="5Buntitled-5D" class="documentation-section">
323
+
324
+
325
+
326
+
327
+
328
+
329
+
330
+
331
+ <!-- Methods -->
332
+
333
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section section">
334
+ <h3 class="section-header">Public Class Methods</h3>
335
+
336
+
337
+ <div id="method-c-exec" class="method-detail ">
338
+
339
+ <div class="method-heading">
340
+ <span class="method-name">exec</span><span
341
+ class="method-args">(provider, options, quiet = true)</span>
342
+ <span class="method-click-advice">click to toggle source</span>
343
+ </div>
344
+
345
+
346
+ <div class="method-description">
347
+
348
+
349
+
350
+
351
+
352
+ <div class="method-source-code" id="exec-source">
353
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 66</span>
354
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">exec</span>(<span class="ruby-identifier">provider</span>, <span class="ruby-identifier">options</span>, <span class="ruby-identifier">quiet</span> = <span class="ruby-keyword">true</span>)
355
+ <span class="ruby-identifier">exec_safe</span>(<span class="ruby-identifier">provider</span>, { <span class="ruby-value">:settings</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>), <span class="ruby-value">:quiet</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">quiet</span> })
356
+ <span class="ruby-keyword">end</span></pre>
357
+ </div><!-- exec-source -->
358
+
359
+ </div>
360
+
361
+
362
+
363
+
364
+ </div><!-- exec-method -->
365
+
366
+
367
+ <div id="method-c-exec_cli" class="method-detail ">
368
+
369
+ <div class="method-heading">
370
+ <span class="method-name">exec_cli</span><span
371
+ class="method-args">(provider, args, quiet = false, name = :nucleon)</span>
372
+ <span class="method-click-advice">click to toggle source</span>
373
+ </div>
374
+
375
+
376
+ <div class="method-description">
377
+
378
+
379
+
380
+
381
+
382
+ <div class="method-source-code" id="exec_cli-source">
383
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 70</span>
384
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">exec_cli</span>(<span class="ruby-identifier">provider</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">quiet</span> = <span class="ruby-keyword">false</span>, <span class="ruby-identifier">name</span> = <span class="ruby-value">:nucleon</span>)
385
+ <span class="ruby-identifier">results</span> = <span class="ruby-identifier">exec_safe</span>(<span class="ruby-identifier">provider</span>, { <span class="ruby-value">:args</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>, <span class="ruby-value">:quiet</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">quiet</span>, <span class="ruby-value">:executable</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">name</span> })
386
+ <span class="ruby-identifier">results</span>[<span class="ruby-value">:status</span>]
387
+ <span class="ruby-keyword">end</span></pre>
388
+ </div><!-- exec_cli-source -->
389
+
390
+ </div>
391
+
392
+
393
+
394
+
395
+ </div><!-- exec_cli-method -->
396
+
397
+
398
+ <div id="method-c-exec_safe" class="method-detail ">
399
+
400
+ <div class="method-heading">
401
+ <span class="method-name">exec_safe</span><span
402
+ class="method-args">(provider, options)</span>
403
+ <span class="method-click-advice">click to toggle source</span>
404
+ </div>
405
+
406
+
407
+ <div class="method-description">
408
+
409
+
410
+
411
+
412
+
413
+ <div class="method-source-code" id="exec_safe-source">
414
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 38</span>
415
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">exec_safe</span>(<span class="ruby-identifier">provider</span>, <span class="ruby-identifier">options</span>)
416
+ <span class="ruby-identifier">action_result</span> = <span class="ruby-keyword">nil</span>
417
+
418
+ <span class="ruby-keyword">begin</span>
419
+ <span class="ruby-identifier">logger</span> = <span class="ruby-constant">Nucleon</span>.<span class="ruby-identifier">logger</span>
420
+
421
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Running nucleon action #{provider} with #{options.inspect}&quot;</span>)
422
+ <span class="ruby-identifier">action</span> = <span class="ruby-constant">Nucleon</span>.<span class="ruby-identifier">action</span>(<span class="ruby-identifier">provider</span>, <span class="ruby-identifier">options</span>)
423
+ <span class="ruby-identifier">exit_status</span> = <span class="ruby-identifier">action</span>.<span class="ruby-identifier">execute</span>
424
+ <span class="ruby-identifier">action_result</span> = <span class="ruby-identifier">action</span>.<span class="ruby-identifier">result</span>
425
+
426
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">Exception</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">error</span>
427
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Nucleon action #{provider} experienced an error:&quot;</span>)
428
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">error</span>(<span class="ruby-identifier">error</span>.<span class="ruby-identifier">inspect</span>)
429
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">error</span>(<span class="ruby-identifier">error</span>.<span class="ruby-identifier">message</span>)
430
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">error</span>(<span class="ruby-constant">Nucleon</span><span class="ruby-operator">::</span><span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Data</span>.<span class="ruby-identifier">to_yaml</span>(<span class="ruby-identifier">error</span>.<span class="ruby-identifier">backtrace</span>))
431
+
432
+ <span class="ruby-constant">Nucleon</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span>(<span class="ruby-identifier">error</span>.<span class="ruby-identifier">message</span>, { <span class="ruby-value">:prefix</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span> }) <span class="ruby-keyword">if</span> <span class="ruby-identifier">error</span>.<span class="ruby-identifier">message</span>
433
+
434
+ <span class="ruby-identifier">exit_status</span> = <span class="ruby-identifier">error</span>.<span class="ruby-identifier">status_code</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">error</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:status_code</span>)
435
+ <span class="ruby-keyword">end</span>
436
+
437
+ <span class="ruby-constant">Nucleon</span>.<span class="ruby-identifier">remove_plugin</span>(<span class="ruby-identifier">action</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">action</span>
438
+
439
+ <span class="ruby-identifier">exit_status</span> = <span class="ruby-constant">Nucleon</span>.<span class="ruby-identifier">code</span>.<span class="ruby-identifier">unknown_status</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">exit_status</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Integer</span>)
440
+ { <span class="ruby-value">:status</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">exit_status</span>, <span class="ruby-value">:result</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">action_result</span> }
441
+ <span class="ruby-keyword">end</span></pre>
442
+ </div><!-- exec_safe-source -->
443
+
444
+ </div>
445
+
446
+
447
+
448
+
449
+ </div><!-- exec_safe-method -->
450
+
451
+
452
+ </section><!-- public-class-method-details -->
453
+
454
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
455
+ <h3 class="section-header">Public Instance Methods</h3>
456
+
457
+
458
+ <div id="method-i-arguments" class="method-detail ">
459
+
460
+ <div class="method-heading">
461
+ <span class="method-name">arguments</span><span
462
+ class="method-args">()</span>
463
+ <span class="method-click-advice">click to toggle source</span>
464
+ </div>
465
+
466
+
467
+ <div class="method-description">
468
+
469
+
470
+
471
+
472
+
473
+ <div class="method-source-code" id="arguments-source">
474
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 173</span>
475
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">arguments</span>
476
+ []
477
+ <span class="ruby-keyword">end</span></pre>
478
+ </div><!-- arguments-source -->
479
+
480
+ </div>
481
+
482
+
483
+
484
+
485
+ </div><!-- arguments-method -->
486
+
487
+
488
+ <div id="method-i-cleanup" class="method-detail ">
489
+
490
+ <div class="method-heading">
491
+ <span class="method-name">cleanup</span><span
492
+ class="method-args">() { || ... }</span>
493
+ <span class="method-click-advice">click to toggle source</span>
494
+ </div>
495
+
496
+
497
+ <div class="method-description">
498
+
499
+
500
+
501
+
502
+
503
+ <div class="method-source-code" id="cleanup-source">
504
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 377</span>
505
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">cleanup</span>
506
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Running cleanup for action #{plugin_provider}&quot;</span>)
507
+
508
+ <span class="ruby-keyword">yield</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
509
+
510
+ <span class="ruby-comment"># Nothing to do right now</span>
511
+ <span class="ruby-identifier">extension</span>(<span class="ruby-value">:cleanup</span>)
512
+ <span class="ruby-keyword">end</span></pre>
513
+ </div><!-- cleanup-source -->
514
+
515
+ </div>
516
+
517
+
518
+
519
+
520
+ </div><!-- cleanup-method -->
521
+
522
+
523
+ <div id="method-i-config" class="method-detail ">
524
+
525
+ <div class="method-heading">
526
+ <span class="method-name">config</span><span
527
+ class="method-args">()</span>
528
+ <span class="method-click-advice">click to toggle source</span>
529
+ </div>
530
+
531
+
532
+ <div class="method-description">
533
+
534
+
535
+
536
+
537
+
538
+ <div class="method-source-code" id="config-source">
539
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 123</span>
540
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">config</span>
541
+ <span class="ruby-identifier">get</span>(<span class="ruby-value">:config</span>)
542
+ <span class="ruby-keyword">end</span></pre>
543
+ </div><!-- config-source -->
544
+
545
+ </div>
546
+
547
+
548
+
549
+
550
+ </div><!-- config-method -->
551
+
552
+
553
+ <div id="method-i-config_subset" class="method-detail ">
554
+
555
+ <div class="method-heading">
556
+ <span class="method-name">config_subset</span><span
557
+ class="method-args">(names)</span>
558
+ <span class="method-click-advice">click to toggle source</span>
559
+ </div>
560
+
561
+
562
+ <div class="method-description">
563
+
564
+
565
+
566
+
567
+
568
+ <div class="method-source-code" id="config_subset-source">
569
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 129</span>
570
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">config_subset</span>(<span class="ruby-identifier">names</span>)
571
+ <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Data</span>.<span class="ruby-identifier">subset</span>(<span class="ruby-identifier">config</span>, <span class="ruby-identifier">names</span>)
572
+ <span class="ruby-keyword">end</span></pre>
573
+ </div><!-- config_subset-source -->
574
+
575
+ </div>
576
+
577
+
578
+
579
+
580
+ </div><!-- config_subset-method -->
581
+
582
+
583
+ <div id="method-i-configure" class="method-detail ">
584
+
585
+ <div class="method-heading">
586
+ <span class="method-name">configure</span><span
587
+ class="method-args">() { || ... }</span>
588
+ <span class="method-click-advice">click to toggle source</span>
589
+ </div>
590
+
591
+
592
+ <div class="method-description">
593
+
594
+
595
+
596
+
597
+
598
+ <div class="method-source-code" id="configure-source">
599
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 179</span>
600
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">configure</span>
601
+ <span class="ruby-identifier">register</span> <span class="ruby-value">:color</span>, <span class="ruby-value">:bool</span>, <span class="ruby-keyword">true</span>, <span class="ruby-string">&#39;nucleon.core.action.options.color&#39;</span>
602
+
603
+ <span class="ruby-keyword">yield</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
604
+
605
+ <span class="ruby-identifier">usage</span> = <span class="ruby-node">&quot;#{plugin_provider} &quot;</span>
606
+ <span class="ruby-identifier">arguments</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
607
+ <span class="ruby-identifier">arg_config</span> = <span class="ruby-identifier">config</span>[<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">to_sym</span>]
608
+
609
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">arg_config</span>.<span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value">:array</span>
610
+ <span class="ruby-identifier">usage</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;&lt;#{arg}&gt; ...&quot;</span>
611
+ <span class="ruby-keyword">else</span>
612
+ <span class="ruby-identifier">usage</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;&lt;#{arg}&gt; &quot;</span>
613
+ <span class="ruby-keyword">end</span>
614
+ <span class="ruby-keyword">end</span>
615
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">usage</span> = <span class="ruby-identifier">usage</span>
616
+ <span class="ruby-identifier">myself</span>
617
+ <span class="ruby-keyword">end</span></pre>
618
+ </div><!-- configure-source -->
619
+
620
+ </div>
621
+
622
+
623
+
624
+
625
+ </div><!-- configure-method -->
626
+
627
+
628
+ <div id="method-i-execute" class="method-detail ">
629
+
630
+ <div class="method-heading">
631
+ <span class="method-name">execute</span><span
632
+ class="method-args">(skip_validate = false, skip_hooks = false) { || ... }</span>
633
+ <span class="method-click-advice">click to toggle source</span>
634
+ </div>
635
+
636
+
637
+ <div class="method-description">
638
+
639
+
640
+
641
+
642
+
643
+ <div class="method-source-code" id="execute-source">
644
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 326</span>
645
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">execute</span>(<span class="ruby-identifier">skip_validate</span> = <span class="ruby-keyword">false</span>, <span class="ruby-identifier">skip_hooks</span> = <span class="ruby-keyword">false</span>)
646
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Executing action #{plugin_provider}&quot;</span>)
647
+
648
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">status</span> = <span class="ruby-identifier">code</span>.<span class="ruby-identifier">success</span>
649
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">result</span> = <span class="ruby-keyword">nil</span>
650
+
651
+ <span class="ruby-comment"># TODO: Figure out how to deal with paralleization of actions with global ui settings</span>
652
+ <span class="ruby-identifier">use_colors</span> = <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Console</span>.<span class="ruby-identifier">use_colors</span>
653
+ <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Console</span>.<span class="ruby-identifier">use_colors</span> = <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">options</span>[<span class="ruby-value">:color</span>]
654
+
655
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">processed?</span>
656
+ <span class="ruby-keyword">begin</span>
657
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">skip_validate</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">validate</span>
658
+ <span class="ruby-keyword">yield</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span> <span class="ruby-operator">&amp;&amp;</span> ( <span class="ruby-identifier">skip_hooks</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">extension_check</span>(<span class="ruby-value">:exec_init</span>) )
659
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">status</span> = <span class="ruby-identifier">extension_set</span>(<span class="ruby-value">:exec_exit</span>, <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">status</span>) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">skip_hooks</span>
660
+ <span class="ruby-keyword">else</span>
661
+ <span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;\n&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">t</span>(<span class="ruby-string">&#39;corl.core.exec.help.usage&#39;</span>) <span class="ruby-operator">+</span> <span class="ruby-string">&#39;: &#39;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">help</span> <span class="ruby-operator">+</span> <span class="ruby-string">&quot;\n&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">quiet?</span>
662
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">status</span> = <span class="ruby-identifier">code</span>.<span class="ruby-identifier">validation_failed</span>
663
+ <span class="ruby-keyword">end</span>
664
+ <span class="ruby-keyword">ensure</span>
665
+ <span class="ruby-identifier">cleanup</span>
666
+ <span class="ruby-keyword">end</span>
667
+ <span class="ruby-keyword">else</span>
668
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">options</span>[<span class="ruby-value">:help</span>]
669
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">status</span> = <span class="ruby-identifier">code</span>.<span class="ruby-identifier">help_wanted</span>
670
+ <span class="ruby-keyword">else</span>
671
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">status</span> = <span class="ruby-identifier">code</span>.<span class="ruby-identifier">action_unprocessed</span>
672
+ <span class="ruby-keyword">end</span>
673
+ <span class="ruby-keyword">end</span>
674
+
675
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">status</span> = <span class="ruby-identifier">code</span>.<span class="ruby-identifier">unknown_status</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">status</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Integer</span>)
676
+
677
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">processed?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">status</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">code</span>.<span class="ruby-identifier">success</span>
678
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Execution failed for #{plugin_provider} with status #{status}: #{export.inspect}&quot;</span>)
679
+ <span class="ruby-identifier">alert</span>(<span class="ruby-constant">Codes</span>.<span class="ruby-identifier">render_index</span>(<span class="ruby-identifier">status</span>))
680
+ <span class="ruby-keyword">end</span>
681
+
682
+ <span class="ruby-identifier">status</span>
683
+
684
+ <span class="ruby-keyword">ensure</span>
685
+ <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Console</span>.<span class="ruby-identifier">use_colors</span> = <span class="ruby-identifier">use_colors</span>
686
+ <span class="ruby-keyword">end</span></pre>
687
+ </div><!-- execute-source -->
688
+
689
+ </div>
690
+
691
+
692
+
693
+
694
+ </div><!-- execute-method -->
695
+
696
+
697
+ <div id="method-i-help" class="method-detail ">
698
+
699
+ <div class="method-heading">
700
+ <span class="method-name">help</span><span
701
+ class="method-args">()</span>
702
+ <span class="method-click-advice">click to toggle source</span>
703
+ </div>
704
+
705
+
706
+ <div class="method-description">
707
+
708
+
709
+
710
+
711
+
712
+ <div class="method-source-code" id="help-source">
713
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 210</span>
714
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">help</span>
715
+ <span class="ruby-keyword">return</span> <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">help</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@parser</span>
716
+ <span class="ruby-identifier">usage</span>
717
+ <span class="ruby-keyword">end</span></pre>
718
+ </div><!-- help-source -->
719
+
720
+ </div>
721
+
722
+
723
+
724
+
725
+ </div><!-- help-method -->
726
+
727
+
728
+ <div id="method-i-ignore" class="method-detail ">
729
+
730
+ <div class="method-heading">
731
+ <span class="method-name">ignore</span><span
732
+ class="method-args">()</span>
733
+ <span class="method-click-advice">click to toggle source</span>
734
+ </div>
735
+
736
+
737
+ <div class="method-description">
738
+
739
+
740
+
741
+
742
+
743
+ <div class="method-source-code" id="ignore-source">
744
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 165</span>
745
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">ignore</span>
746
+ []
747
+ <span class="ruby-keyword">end</span></pre>
748
+ </div><!-- ignore-source -->
749
+
750
+ </div>
751
+
752
+
753
+
754
+
755
+ </div><!-- ignore-method -->
756
+
757
+
758
+ <div id="method-i-namespace" class="method-detail ">
759
+
760
+ <div class="method-heading">
761
+ <span class="method-name">namespace</span><span
762
+ class="method-args">()</span>
763
+ <span class="method-click-advice">click to toggle source</span>
764
+ </div>
765
+
766
+
767
+ <div class="method-description">
768
+
769
+
770
+
771
+
772
+
773
+ <div class="method-source-code" id="namespace-source">
774
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 117</span>
775
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">namespace</span>
776
+ <span class="ruby-value">:nucleon</span>
777
+ <span class="ruby-keyword">end</span></pre>
778
+ </div><!-- namespace-source -->
779
+
780
+ </div>
781
+
782
+
783
+
784
+
785
+ </div><!-- namespace-method -->
786
+
787
+
788
+ <div id="method-i-normalize" class="method-detail ">
789
+
790
+ <div class="method-heading">
791
+ <span class="method-name">normalize</span><span
792
+ class="method-args">(reload)</span>
793
+ <span class="method-click-advice">click to toggle source</span>
794
+ </div>
795
+
796
+
797
+ <div class="method-description">
798
+
799
+
800
+
801
+
802
+
803
+ <div class="method-source-code" id="normalize-source">
804
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 77</span>
805
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">normalize</span>(<span class="ruby-identifier">reload</span>)
806
+ <span class="ruby-identifier">args</span> = <span class="ruby-identifier">array</span>(<span class="ruby-identifier">delete</span>(<span class="ruby-value">:args</span>, []))
807
+
808
+ <span class="ruby-ivar">@action_interface</span> = <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Liquid</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">method</span>, <span class="ruby-identifier">method_args</span><span class="ruby-operator">|</span>
809
+ <span class="ruby-identifier">options</span> = {}
810
+ <span class="ruby-identifier">options</span> = <span class="ruby-identifier">method_args</span>[<span class="ruby-value">0</span>] <span class="ruby-keyword">if</span> <span class="ruby-identifier">method_args</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
811
+
812
+ <span class="ruby-identifier">quiet</span> = <span class="ruby-keyword">true</span>
813
+ <span class="ruby-identifier">quiet</span> = <span class="ruby-identifier">method_args</span>[<span class="ruby-value">1</span>] <span class="ruby-keyword">if</span> <span class="ruby-identifier">method_args</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>
814
+
815
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">exec</span>(<span class="ruby-identifier">method</span>, <span class="ruby-identifier">options</span>, <span class="ruby-identifier">quiet</span>)
816
+ <span class="ruby-keyword">end</span>
817
+
818
+ <span class="ruby-identifier">set</span>(<span class="ruby-value">:config</span>, <span class="ruby-constant">Config</span>.<span class="ruby-identifier">new</span>)
819
+
820
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">get</span>(<span class="ruby-value">:settings</span>, <span class="ruby-keyword">nil</span>)
821
+ <span class="ruby-comment"># Internal processing</span>
822
+ <span class="ruby-identifier">configure</span>
823
+ <span class="ruby-identifier">set</span>(<span class="ruby-value">:processed</span>, <span class="ruby-keyword">true</span>)
824
+ <span class="ruby-identifier">set</span>(<span class="ruby-value">:settings</span>, <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">get</span>(<span class="ruby-value">:settings</span>)))
825
+
826
+ <span class="ruby-constant">Nucleon</span>.<span class="ruby-identifier">log_level</span> = <span class="ruby-identifier">settings</span>[<span class="ruby-value">:log_level</span>] <span class="ruby-keyword">if</span> <span class="ruby-identifier">settings</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-value">:log_level</span>)
827
+ <span class="ruby-keyword">else</span>
828
+ <span class="ruby-comment"># External processing</span>
829
+ <span class="ruby-identifier">set</span>(<span class="ruby-value">:settings</span>, <span class="ruby-constant">Config</span>.<span class="ruby-identifier">new</span>)
830
+ <span class="ruby-identifier">configure</span>
831
+ <span class="ruby-identifier">parse_base</span>(<span class="ruby-identifier">args</span>)
832
+ <span class="ruby-keyword">end</span>
833
+ <span class="ruby-keyword">end</span></pre>
834
+ </div><!-- normalize-source -->
835
+
836
+ </div>
837
+
838
+
839
+
840
+
841
+ </div><!-- normalize-method -->
842
+
843
+
844
+ <div id="method-i-options" class="method-detail ">
845
+
846
+ <div class="method-heading">
847
+ <span class="method-name">options</span><span
848
+ class="method-args">()</span>
849
+ <span class="method-click-advice">click to toggle source</span>
850
+ </div>
851
+
852
+
853
+ <div class="method-description">
854
+
855
+
856
+
857
+
858
+
859
+ <div class="method-source-code" id="options-source">
860
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 169</span>
861
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">options</span>
862
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">keys</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">arguments</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">ignore</span>
863
+ <span class="ruby-keyword">end</span></pre>
864
+ </div><!-- options-source -->
865
+
866
+ </div>
867
+
868
+
869
+
870
+
871
+ </div><!-- options-method -->
872
+
873
+
874
+ <div id="method-i-parse" class="method-detail ">
875
+
876
+ <div class="method-heading">
877
+ <span class="method-name">parse</span><span
878
+ class="method-args">(parser)</span>
879
+ <span class="method-click-advice">click to toggle source</span>
880
+ </div>
881
+
882
+
883
+ <div class="method-description">
884
+
885
+
886
+
887
+
888
+
889
+ <div class="method-source-code" id="parse-source">
890
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 258</span>
891
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">parse</span>(<span class="ruby-identifier">parser</span>)
892
+
893
+ <span class="ruby-identifier">generate</span> = <span class="ruby-identifier">lambda</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">format</span>, <span class="ruby-identifier">name</span><span class="ruby-operator">|</span>
894
+ <span class="ruby-identifier">formats</span> = [ <span class="ruby-value">:option</span>, <span class="ruby-value">:arg</span> ]
895
+ <span class="ruby-identifier">types</span> = [ <span class="ruby-value">:bool</span>, <span class="ruby-value">:int</span>, <span class="ruby-value">:float</span>, <span class="ruby-value">:str</span>, <span class="ruby-value">:array</span> ]
896
+ <span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_sym</span>
897
+
898
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">export</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">name</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">formats</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">format</span>.<span class="ruby-identifier">to_sym</span>)
899
+ <span class="ruby-identifier">option_config</span> = <span class="ruby-identifier">config</span>[<span class="ruby-identifier">name</span>]
900
+ <span class="ruby-identifier">type</span> = <span class="ruby-identifier">option_config</span>.<span class="ruby-identifier">type</span>
901
+ <span class="ruby-identifier">default</span> = <span class="ruby-identifier">option_config</span>.<span class="ruby-identifier">default</span>
902
+ <span class="ruby-identifier">locale</span> = <span class="ruby-identifier">option_config</span>.<span class="ruby-identifier">locale</span>
903
+
904
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">types</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">type</span>.<span class="ruby-identifier">to_sym</span>)
905
+ <span class="ruby-identifier">value_label</span> = <span class="ruby-node">&quot;#{type.to_s.upcase}&quot;</span>
906
+
907
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value">:bool</span>
908
+ <span class="ruby-identifier">parser</span>.<span class="ruby-identifier">send</span>(<span class="ruby-node">&quot;option_#{type}&quot;</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">default</span>, <span class="ruby-node">&quot;--[no-]#{name}&quot;</span>, <span class="ruby-identifier">locale</span>)
909
+ <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">format</span> <span class="ruby-operator">==</span> <span class="ruby-value">:arg</span>
910
+ <span class="ruby-identifier">parser</span>.<span class="ruby-identifier">send</span>(<span class="ruby-node">&quot;#{format}_#{type}&quot;</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">default</span>, <span class="ruby-identifier">locale</span>)
911
+ <span class="ruby-keyword">else</span>
912
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value">:array</span>
913
+ <span class="ruby-identifier">parser</span>.<span class="ruby-identifier">send</span>(<span class="ruby-node">&quot;option_#{type}&quot;</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">default</span>, <span class="ruby-node">&quot;--#{name} #{value_label},...&quot;</span>, <span class="ruby-identifier">locale</span>)
914
+ <span class="ruby-keyword">else</span>
915
+ <span class="ruby-identifier">parser</span>.<span class="ruby-identifier">send</span>(<span class="ruby-node">&quot;option_#{type}&quot;</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">default</span>, <span class="ruby-node">&quot;--#{name} #{value_label}&quot;</span>, <span class="ruby-identifier">locale</span>)
916
+ <span class="ruby-keyword">end</span>
917
+ <span class="ruby-keyword">end</span>
918
+ <span class="ruby-keyword">end</span>
919
+ <span class="ruby-keyword">end</span>
920
+ <span class="ruby-keyword">end</span>
921
+
922
+ <span class="ruby-comment">#---</span>
923
+
924
+ <span class="ruby-identifier">options</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span><span class="ruby-operator">|</span>
925
+ <span class="ruby-identifier">generate</span>.<span class="ruby-identifier">call</span>(<span class="ruby-value">:option</span>, <span class="ruby-identifier">name</span>)
926
+ <span class="ruby-keyword">end</span>
927
+
928
+ <span class="ruby-identifier">arguments</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span><span class="ruby-operator">|</span>
929
+ <span class="ruby-identifier">generate</span>.<span class="ruby-identifier">call</span>(<span class="ruby-value">:arg</span>, <span class="ruby-identifier">name</span>)
930
+ <span class="ruby-keyword">end</span>
931
+ <span class="ruby-keyword">end</span></pre>
932
+ </div><!-- parse-source -->
933
+
934
+ </div>
935
+
936
+
937
+
938
+
939
+ </div><!-- parse-method -->
940
+
941
+
942
+ <div id="method-i-parse_base" class="method-detail ">
943
+
944
+ <div class="method-heading">
945
+ <span class="method-name">parse_base</span><span
946
+ class="method-args">(args)</span>
947
+ <span class="method-click-advice">click to toggle source</span>
948
+ </div>
949
+
950
+
951
+ <div class="method-description">
952
+
953
+
954
+
955
+
956
+
957
+ <div class="method-source-code" id="parse_base-source">
958
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 228</span>
959
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">parse_base</span>(<span class="ruby-identifier">args</span>)
960
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Parsing action #{plugin_provider} with: #{args.inspect}&quot;</span>)
961
+
962
+ <span class="ruby-ivar">@parser</span> = <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">CLI</span><span class="ruby-operator">::</span><span class="ruby-constant">Parser</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">args</span>, <span class="ruby-identifier">usage</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">parser</span><span class="ruby-operator">|</span>
963
+ <span class="ruby-identifier">parse</span>(<span class="ruby-identifier">parser</span>)
964
+ <span class="ruby-identifier">extension</span>(<span class="ruby-value">:parse</span>, { <span class="ruby-value">:parser</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">parser</span>, <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
965
+ <span class="ruby-keyword">end</span>
966
+
967
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@parser</span>
968
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">processed</span>
969
+ <span class="ruby-identifier">set</span>(<span class="ruby-value">:processed</span>, <span class="ruby-keyword">true</span>)
970
+ <span class="ruby-identifier">settings</span>.<span class="ruby-identifier">import</span>(<span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Data</span>.<span class="ruby-identifier">merge</span>([ <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">options</span>, <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">arguments</span> ], <span class="ruby-keyword">true</span>))
971
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Parse successful: #{export.inspect}&quot;</span>)
972
+
973
+ <span class="ruby-keyword">elsif</span> <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">options</span>[<span class="ruby-value">:help</span>] <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">quiet?</span>
974
+ <span class="ruby-identifier">executable</span> = <span class="ruby-identifier">delete</span>(<span class="ruby-value">:executable</span>, <span class="ruby-string">&#39;&#39;</span>)
975
+ <span class="ruby-identifier">puts</span> <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">t</span>(<span class="ruby-string">&#39;nucleon.core.exec.help.usage&#39;</span>) <span class="ruby-operator">+</span> <span class="ruby-node">&quot;: #{executable} &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">help</span> <span class="ruby-operator">+</span> <span class="ruby-string">&quot;\n&quot;</span>
976
+
977
+ <span class="ruby-keyword">else</span>
978
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">options</span>[<span class="ruby-value">:help</span>]
979
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-string">&quot;Help wanted but running in silent mode&quot;</span>)
980
+ <span class="ruby-keyword">else</span>
981
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-string">&quot;Parse failed for unknown reasons&quot;</span>)
982
+ <span class="ruby-keyword">end</span>
983
+ <span class="ruby-keyword">end</span>
984
+ <span class="ruby-keyword">end</span>
985
+ <span class="ruby-keyword">end</span></pre>
986
+ </div><!-- parse_base-source -->
987
+
988
+ </div>
989
+
990
+
991
+
992
+
993
+ </div><!-- parse_base-method -->
994
+
995
+
996
+ <div id="method-i-processed-3F" class="method-detail ">
997
+
998
+ <div class="method-heading">
999
+ <span class="method-name">processed?</span><span
1000
+ class="method-args">()</span>
1001
+ <span class="method-click-advice">click to toggle source</span>
1002
+ </div>
1003
+
1004
+
1005
+ <div class="method-description">
1006
+
1007
+
1008
+
1009
+
1010
+
1011
+ <div class="method-source-code" id="processed-3F-source">
1012
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 110</span>
1013
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">processed?</span>
1014
+ <span class="ruby-identifier">get</span>(<span class="ruby-value">:processed</span>, <span class="ruby-keyword">false</span>)
1015
+ <span class="ruby-keyword">end</span></pre>
1016
+ </div><!-- processed-3F-source -->
1017
+
1018
+ </div>
1019
+
1020
+
1021
+
1022
+
1023
+ </div><!-- processed-3F-method -->
1024
+
1025
+
1026
+ <div id="method-i-register" class="method-detail ">
1027
+
1028
+ <div class="method-heading">
1029
+ <span class="method-name">register</span><span
1030
+ class="method-args">(name, type, default, locale = nil) { |value, success| ... }</span>
1031
+ <span class="method-click-advice">click to toggle source</span>
1032
+ </div>
1033
+
1034
+
1035
+ <div class="method-description">
1036
+
1037
+
1038
+
1039
+
1040
+
1041
+ <div class="method-source-code" id="register-source">
1042
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 141</span>
1043
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">register</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">default</span>, <span class="ruby-identifier">locale</span> = <span class="ruby-keyword">nil</span>)
1044
+ <span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_sym</span>
1045
+
1046
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
1047
+ <span class="ruby-identifier">option</span> = <span class="ruby-constant">Option</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">namespace</span>, <span class="ruby-identifier">plugin_provider</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">default</span>, <span class="ruby-identifier">locale</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">value</span>, <span class="ruby-identifier">success</span><span class="ruby-operator">|</span>
1048
+ <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">value</span>, <span class="ruby-identifier">success</span>)
1049
+ <span class="ruby-keyword">end</span>
1050
+ <span class="ruby-keyword">else</span>
1051
+ <span class="ruby-identifier">option</span> = <span class="ruby-constant">Option</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">namespace</span>, <span class="ruby-identifier">plugin_provider</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">default</span>, <span class="ruby-identifier">locale</span>)
1052
+ <span class="ruby-keyword">end</span>
1053
+
1054
+ <span class="ruby-identifier">config</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">option</span>
1055
+ <span class="ruby-identifier">settings</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">option</span>.<span class="ruby-identifier">default</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">settings</span>[<span class="ruby-identifier">name</span>].<span class="ruby-identifier">nil?</span>
1056
+ <span class="ruby-keyword">end</span></pre>
1057
+ </div><!-- register-source -->
1058
+
1059
+ </div>
1060
+
1061
+
1062
+
1063
+
1064
+ </div><!-- register-method -->
1065
+
1066
+
1067
+ <div id="method-i-remove" class="method-detail ">
1068
+
1069
+ <div class="method-heading">
1070
+ <span class="method-name">remove</span><span
1071
+ class="method-args">(names)</span>
1072
+ <span class="method-click-advice">click to toggle source</span>
1073
+ </div>
1074
+
1075
+
1076
+ <div class="method-description">
1077
+
1078
+
1079
+
1080
+
1081
+
1082
+ <div class="method-source-code" id="remove-source">
1083
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 158</span>
1084
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">remove</span>(<span class="ruby-identifier">names</span>)
1085
+ <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Data</span>.<span class="ruby-identifier">rm_keys</span>(<span class="ruby-identifier">config</span>, <span class="ruby-identifier">names</span>)
1086
+ <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Data</span>.<span class="ruby-identifier">rm_keys</span>(<span class="ruby-identifier">settings</span>, <span class="ruby-identifier">names</span>)
1087
+ <span class="ruby-keyword">end</span></pre>
1088
+ </div><!-- remove-source -->
1089
+
1090
+ </div>
1091
+
1092
+
1093
+
1094
+
1095
+ </div><!-- remove-method -->
1096
+
1097
+
1098
+ <div id="method-i-render_options" class="method-detail ">
1099
+
1100
+ <div class="method-heading">
1101
+ <span class="method-name">render_options</span><span
1102
+ class="method-args">()</span>
1103
+ <span class="method-click-advice">click to toggle source</span>
1104
+ </div>
1105
+
1106
+
1107
+ <div class="method-description">
1108
+
1109
+
1110
+
1111
+
1112
+
1113
+ <div class="method-source-code" id="render_options-source">
1114
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 389</span>
1115
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">render_options</span>
1116
+ <span class="ruby-identifier">settings</span>
1117
+ <span class="ruby-keyword">end</span></pre>
1118
+ </div><!-- render_options-source -->
1119
+
1120
+ </div>
1121
+
1122
+
1123
+
1124
+
1125
+ </div><!-- render_options-method -->
1126
+
1127
+
1128
+ <div id="method-i-result" class="method-detail ">
1129
+
1130
+ <div class="method-heading">
1131
+ <span class="method-name">result</span><span
1132
+ class="method-args">()</span>
1133
+ <span class="method-click-advice">click to toggle source</span>
1134
+ </div>
1135
+
1136
+
1137
+ <div class="method-description">
1138
+
1139
+
1140
+
1141
+
1142
+
1143
+ <div class="method-source-code" id="result-source">
1144
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 221</span>
1145
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">result</span>
1146
+ <span class="ruby-identifier">get</span>(<span class="ruby-value">:result</span>, <span class="ruby-keyword">nil</span>)
1147
+ <span class="ruby-keyword">end</span></pre>
1148
+ </div><!-- result-source -->
1149
+
1150
+ </div>
1151
+
1152
+
1153
+
1154
+
1155
+ </div><!-- result-method -->
1156
+
1157
+
1158
+ <div id="method-i-result-3D" class="method-detail ">
1159
+
1160
+ <div class="method-heading">
1161
+ <span class="method-name">result=</span><span
1162
+ class="method-args">(result)</span>
1163
+ <span class="method-click-advice">click to toggle source</span>
1164
+ </div>
1165
+
1166
+
1167
+ <div class="method-description">
1168
+
1169
+
1170
+
1171
+
1172
+
1173
+ <div class="method-source-code" id="result-3D-source">
1174
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 217</span>
1175
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">result=</span><span class="ruby-identifier">result</span>
1176
+ <span class="ruby-identifier">set</span>(<span class="ruby-value">:result</span>, <span class="ruby-identifier">result</span>)
1177
+ <span class="ruby-keyword">end</span></pre>
1178
+ </div><!-- result-3D-source -->
1179
+
1180
+ </div>
1181
+
1182
+
1183
+
1184
+
1185
+ </div><!-- result-3D-method -->
1186
+
1187
+
1188
+ <div id="method-i-run" class="method-detail ">
1189
+
1190
+ <div class="method-heading">
1191
+ <span class="method-name">run</span><span
1192
+ class="method-args">()</span>
1193
+ <span class="method-click-advice">click to toggle source</span>
1194
+ </div>
1195
+
1196
+
1197
+ <div class="method-description">
1198
+
1199
+
1200
+
1201
+
1202
+
1203
+ <div class="method-source-code" id="run-source">
1204
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 371</span>
1205
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">run</span>
1206
+ <span class="ruby-ivar">@action_interface</span>
1207
+ <span class="ruby-keyword">end</span></pre>
1208
+ </div><!-- run-source -->
1209
+
1210
+ </div>
1211
+
1212
+
1213
+
1214
+
1215
+ </div><!-- run-method -->
1216
+
1217
+
1218
+ <div id="method-i-settings" class="method-detail ">
1219
+
1220
+ <div class="method-heading">
1221
+ <span class="method-name">settings</span><span
1222
+ class="method-args">()</span>
1223
+ <span class="method-click-advice">click to toggle source</span>
1224
+ </div>
1225
+
1226
+
1227
+ <div class="method-description">
1228
+
1229
+
1230
+
1231
+
1232
+
1233
+ <div class="method-source-code" id="settings-source">
1234
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 135</span>
1235
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">settings</span>
1236
+ <span class="ruby-identifier">get</span>(<span class="ruby-value">:settings</span>)
1237
+ <span class="ruby-keyword">end</span></pre>
1238
+ </div><!-- settings-source -->
1239
+
1240
+ </div>
1241
+
1242
+
1243
+
1244
+
1245
+ </div><!-- settings-method -->
1246
+
1247
+
1248
+ <div id="method-i-usage" class="method-detail ">
1249
+
1250
+ <div class="method-heading">
1251
+ <span class="method-name">usage</span><span
1252
+ class="method-args">()</span>
1253
+ <span class="method-click-advice">click to toggle source</span>
1254
+ </div>
1255
+
1256
+
1257
+ <div class="method-description">
1258
+
1259
+
1260
+
1261
+
1262
+
1263
+ <div class="method-source-code" id="usage-source">
1264
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 204</span>
1265
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">usage</span>
1266
+ <span class="ruby-identifier">get</span>(<span class="ruby-value">:usage</span>, <span class="ruby-string">&#39;&#39;</span>)
1267
+ <span class="ruby-keyword">end</span></pre>
1268
+ </div><!-- usage-source -->
1269
+
1270
+ </div>
1271
+
1272
+
1273
+
1274
+
1275
+ </div><!-- usage-method -->
1276
+
1277
+
1278
+ <div id="method-i-usage-3D" class="method-detail ">
1279
+
1280
+ <div class="method-heading">
1281
+ <span class="method-name">usage=</span><span
1282
+ class="method-args">(usage)</span>
1283
+ <span class="method-click-advice">click to toggle source</span>
1284
+ </div>
1285
+
1286
+
1287
+ <div class="method-description">
1288
+
1289
+
1290
+
1291
+
1292
+
1293
+ <div class="method-source-code" id="usage-3D-source">
1294
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 200</span>
1295
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">usage=</span><span class="ruby-identifier">usage</span>
1296
+ <span class="ruby-identifier">set</span>(<span class="ruby-value">:usage</span>, <span class="ruby-identifier">usage</span>)
1297
+ <span class="ruby-keyword">end</span></pre>
1298
+ </div><!-- usage-3D-source -->
1299
+
1300
+ </div>
1301
+
1302
+
1303
+
1304
+
1305
+ </div><!-- usage-3D-method -->
1306
+
1307
+
1308
+ <div id="method-i-validate" class="method-detail ">
1309
+
1310
+ <div class="method-heading">
1311
+ <span class="method-name">validate</span><span
1312
+ class="method-args">(*args)</span>
1313
+ <span class="method-click-advice">click to toggle source</span>
1314
+ </div>
1315
+
1316
+
1317
+ <div class="method-description">
1318
+
1319
+
1320
+
1321
+
1322
+
1323
+ <div class="method-source-code" id="validate-source">
1324
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 302</span>
1325
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">validate</span>(*<span class="ruby-identifier">args</span>)
1326
+ <span class="ruby-comment"># TODO: Add extension hooks and logging</span>
1327
+
1328
+ <span class="ruby-comment"># Validate all of the configurations</span>
1329
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">true</span>
1330
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">export</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span>, <span class="ruby-identifier">option</span><span class="ruby-operator">|</span>
1331
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">ignore</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">name</span>)
1332
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">false</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">option</span>.<span class="ruby-identifier">validate</span>(<span class="ruby-identifier">settings</span>[<span class="ruby-identifier">name</span>], *<span class="ruby-identifier">args</span>)
1333
+ <span class="ruby-keyword">end</span>
1334
+ <span class="ruby-keyword">end</span>
1335
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
1336
+ <span class="ruby-comment"># Check for missing arguments (in case of internal execution mode)</span>
1337
+ <span class="ruby-identifier">arguments</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span><span class="ruby-operator">|</span>
1338
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">settings</span>[<span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_sym</span>].<span class="ruby-identifier">nil?</span>
1339
+ <span class="ruby-identifier">warn</span>(<span class="ruby-string">&#39;nucleon.core.exec.errors.missing_argument&#39;</span>, { <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">name</span> })
1340
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">false</span>
1341
+ <span class="ruby-keyword">end</span>
1342
+ <span class="ruby-keyword">end</span>
1343
+ <span class="ruby-keyword">end</span>
1344
+ <span class="ruby-identifier">success</span>
1345
+ <span class="ruby-keyword">end</span></pre>
1346
+ </div><!-- validate-source -->
1347
+
1348
+ </div>
1349
+
1350
+
1351
+
1352
+
1353
+ </div><!-- validate-method -->
1354
+
1355
+
1356
+ </section><!-- public-instance-method-details -->
1357
+
1358
+ </section><!-- 5Buntitled-5D -->
1359
+
1360
+ </div><!-- documentation -->
1361
+
1362
+
1363
+ <footer id="validator-badges">
1364
+ <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
1365
+ <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.2.
1366
+ <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
1367
+ </footer>
1368
+