nucleon 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (144) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/core/config.rb +1 -1
  4. data/lib/core/core.rb +2 -2
  5. data/lib/core/environment.rb +9 -6
  6. data/lib/core/facade.rb +2 -2
  7. data/lib/core/gems.rb +13 -6
  8. data/lib/core/manager.rb +12 -5
  9. data/lib/core/mixin/action/commit.rb +12 -6
  10. data/lib/core/mixin/action/project.rb +15 -28
  11. data/lib/core/mixin/action/push.rb +14 -5
  12. data/lib/core/mixin/action/registration.rb +277 -28
  13. data/lib/core/mixin/macro/object_interface.rb +3 -3
  14. data/lib/core/mixin/sub_config.rb +1 -1
  15. data/lib/core/plugin/action.rb +20 -51
  16. data/lib/core/plugin/base.rb +41 -8
  17. data/lib/core/plugin/project.rb +55 -8
  18. data/lib/nucleon/action/project/add.rb +6 -20
  19. data/lib/nucleon/action/project/create.rb +2 -2
  20. data/lib/nucleon/action/project/remove.rb +3 -3
  21. data/lib/nucleon/action/project/save.rb +3 -3
  22. data/lib/nucleon/action/project/update.rb +2 -2
  23. data/lib/nucleon/extension/project.rb +16 -0
  24. data/lib/nucleon/project/git.rb +1 -0
  25. data/lib/nucleon/project/github.rb +19 -7
  26. data/nucleon.gemspec +120 -2
  27. data/rdoc/site/0.2.1/ARCHITECTURE_rdoc.html +640 -0
  28. data/rdoc/site/0.2.1/Hash.html +353 -0
  29. data/rdoc/site/0.2.1/Kernel.html +420 -0
  30. data/rdoc/site/0.2.1/Nucleon.html +674 -0
  31. data/rdoc/site/0.2.1/Nucleon/Action.html +286 -0
  32. data/rdoc/site/0.2.1/Nucleon/Action/Extract.html +457 -0
  33. data/rdoc/site/0.2.1/Nucleon/Action/Project.html +285 -0
  34. data/rdoc/site/0.2.1/Nucleon/Action/Project/Add.html +502 -0
  35. data/rdoc/site/0.2.1/Nucleon/Action/Project/Create.html +459 -0
  36. data/rdoc/site/0.2.1/Nucleon/Action/Project/Remove.html +505 -0
  37. data/rdoc/site/0.2.1/Nucleon/Action/Project/Save.html +478 -0
  38. data/rdoc/site/0.2.1/Nucleon/Action/Project/Update.html +425 -0
  39. data/rdoc/site/0.2.1/Nucleon/Codes.html +569 -0
  40. data/rdoc/site/0.2.1/Nucleon/Command.html +281 -0
  41. data/rdoc/site/0.2.1/Nucleon/Command/Bash.html +550 -0
  42. data/rdoc/site/0.2.1/Nucleon/Config.html +1634 -0
  43. data/rdoc/site/0.2.1/Nucleon/Config/Collection.html +515 -0
  44. data/rdoc/site/0.2.1/Nucleon/Config/Options.html +495 -0
  45. data/rdoc/site/0.2.1/Nucleon/Core.html +641 -0
  46. data/rdoc/site/0.2.1/Nucleon/Environment.html +1210 -0
  47. data/rdoc/site/0.2.1/Nucleon/Errors.html +281 -0
  48. data/rdoc/site/0.2.1/Nucleon/Errors/BatchError.html +287 -0
  49. data/rdoc/site/0.2.1/Nucleon/Errors/NucleonError.html +663 -0
  50. data/rdoc/site/0.2.1/Nucleon/Errors/SSHUnavailable.html +287 -0
  51. data/rdoc/site/0.2.1/Nucleon/Event.html +281 -0
  52. data/rdoc/site/0.2.1/Nucleon/Event/Regex.html +473 -0
  53. data/rdoc/site/0.2.1/Nucleon/Facade.html +2452 -0
  54. data/rdoc/site/0.2.1/Nucleon/Gems.html +641 -0
  55. data/rdoc/site/0.2.1/Nucleon/Manager.html +1862 -0
  56. data/rdoc/site/0.2.1/Nucleon/Mixin.html +291 -0
  57. data/rdoc/site/0.2.1/Nucleon/Mixin/Action.html +284 -0
  58. data/rdoc/site/0.2.1/Nucleon/Mixin/Action/Commit.html +387 -0
  59. data/rdoc/site/0.2.1/Nucleon/Mixin/Action/Project.html +401 -0
  60. data/rdoc/site/0.2.1/Nucleon/Mixin/Action/Push.html +377 -0
  61. data/rdoc/site/0.2.1/Nucleon/Mixin/Action/Registration.html +575 -0
  62. data/rdoc/site/0.2.1/Nucleon/Mixin/Colors.html +551 -0
  63. data/rdoc/site/0.2.1/Nucleon/Mixin/ConfigCollection.html +487 -0
  64. data/rdoc/site/0.2.1/Nucleon/Mixin/ConfigOptions.html +455 -0
  65. data/rdoc/site/0.2.1/Nucleon/Mixin/Macro.html +282 -0
  66. data/rdoc/site/0.2.1/Nucleon/Mixin/Macro/ObjectInterface.html +701 -0
  67. data/rdoc/site/0.2.1/Nucleon/Mixin/Macro/PluginInterface.html +688 -0
  68. data/rdoc/site/0.2.1/Nucleon/Mixin/Settings.html +487 -0
  69. data/rdoc/site/0.2.1/Nucleon/Mixin/SubConfig.html +893 -0
  70. data/rdoc/site/0.2.1/Nucleon/Parallel.html +332 -0
  71. data/rdoc/site/0.2.1/Nucleon/Parallel/ClassMethods.html +331 -0
  72. data/rdoc/site/0.2.1/Nucleon/Parallel/InstanceMethods.html +458 -0
  73. data/rdoc/site/0.2.1/Nucleon/Plugin.html +288 -0
  74. data/rdoc/site/0.2.1/Nucleon/Plugin/Action.html +2133 -0
  75. data/rdoc/site/0.2.1/Nucleon/Plugin/Action/Option.html +465 -0
  76. data/rdoc/site/0.2.1/Nucleon/Plugin/Base.html +1988 -0
  77. data/rdoc/site/0.2.1/Nucleon/Plugin/Command.html +765 -0
  78. data/rdoc/site/0.2.1/Nucleon/Plugin/Event.html +448 -0
  79. data/rdoc/site/0.2.1/Nucleon/Plugin/Extension.html +287 -0
  80. data/rdoc/site/0.2.1/Nucleon/Plugin/Project.html +2900 -0
  81. data/rdoc/site/0.2.1/Nucleon/Plugin/Template.html +482 -0
  82. data/rdoc/site/0.2.1/Nucleon/Plugin/Translator.html +377 -0
  83. data/rdoc/site/0.2.1/Nucleon/Project.html +282 -0
  84. data/rdoc/site/0.2.1/Nucleon/Project/Git.html +1807 -0
  85. data/rdoc/site/0.2.1/Nucleon/Project/Github.html +555 -0
  86. data/rdoc/site/0.2.1/Nucleon/Template.html +283 -0
  87. data/rdoc/site/0.2.1/Nucleon/Template/JSON.html +335 -0
  88. data/rdoc/site/0.2.1/Nucleon/Template/Wrapper.html +335 -0
  89. data/rdoc/site/0.2.1/Nucleon/Template/YAML.html +335 -0
  90. data/rdoc/site/0.2.1/Nucleon/Translator.html +282 -0
  91. data/rdoc/site/0.2.1/Nucleon/Translator/JSON.html +372 -0
  92. data/rdoc/site/0.2.1/Nucleon/Translator/YAML.html +372 -0
  93. data/rdoc/site/0.2.1/Nucleon/Util.html +291 -0
  94. data/rdoc/site/0.2.1/Nucleon/Util/CLI.html +394 -0
  95. data/rdoc/site/0.2.1/Nucleon/Util/CLI/Parser.html +1404 -0
  96. data/rdoc/site/0.2.1/Nucleon/Util/Cache.html +824 -0
  97. data/rdoc/site/0.2.1/Nucleon/Util/Console.html +1330 -0
  98. data/rdoc/site/0.2.1/Nucleon/Util/Data.html +1423 -0
  99. data/rdoc/site/0.2.1/Nucleon/Util/Disk.html +528 -0
  100. data/rdoc/site/0.2.1/Nucleon/Util/Git.html +367 -0
  101. data/rdoc/site/0.2.1/Nucleon/Util/Liquid.html +371 -0
  102. data/rdoc/site/0.2.1/Nucleon/Util/Logger.html +822 -0
  103. data/rdoc/site/0.2.1/Nucleon/Util/Package.html +564 -0
  104. data/rdoc/site/0.2.1/Nucleon/Util/SSH.html +1036 -0
  105. data/rdoc/site/0.2.1/Nucleon/Util/SSH/Keypair.html +607 -0
  106. data/rdoc/site/0.2.1/Nucleon/Util/Shell.html +697 -0
  107. data/rdoc/site/0.2.1/Nucleon/Util/Shell/Result.html +503 -0
  108. data/rdoc/site/0.2.1/README_rdoc.html +318 -0
  109. data/rdoc/site/0.2.1/TODO_rdoc.html +267 -0
  110. data/rdoc/site/0.2.1/created.rid +62 -0
  111. data/rdoc/site/0.2.1/images/add.png +0 -0
  112. data/rdoc/site/0.2.1/images/brick.png +0 -0
  113. data/rdoc/site/0.2.1/images/brick_link.png +0 -0
  114. data/rdoc/site/0.2.1/images/bug.png +0 -0
  115. data/rdoc/site/0.2.1/images/bullet_black.png +0 -0
  116. data/rdoc/site/0.2.1/images/bullet_toggle_minus.png +0 -0
  117. data/rdoc/site/0.2.1/images/bullet_toggle_plus.png +0 -0
  118. data/rdoc/site/0.2.1/images/date.png +0 -0
  119. data/rdoc/site/0.2.1/images/delete.png +0 -0
  120. data/rdoc/site/0.2.1/images/find.png +0 -0
  121. data/rdoc/site/0.2.1/images/loadingAnimation.gif +0 -0
  122. data/rdoc/site/0.2.1/images/macFFBgHack.png +0 -0
  123. data/rdoc/site/0.2.1/images/package.png +0 -0
  124. data/rdoc/site/0.2.1/images/page_green.png +0 -0
  125. data/rdoc/site/0.2.1/images/page_white_text.png +0 -0
  126. data/rdoc/site/0.2.1/images/page_white_width.png +0 -0
  127. data/rdoc/site/0.2.1/images/plugin.png +0 -0
  128. data/rdoc/site/0.2.1/images/ruby.png +0 -0
  129. data/rdoc/site/0.2.1/images/tag_blue.png +0 -0
  130. data/rdoc/site/0.2.1/images/tag_green.png +0 -0
  131. data/rdoc/site/0.2.1/images/transparent.png +0 -0
  132. data/rdoc/site/0.2.1/images/wrench.png +0 -0
  133. data/rdoc/site/0.2.1/images/wrench_orange.png +0 -0
  134. data/rdoc/site/0.2.1/images/zoom.png +0 -0
  135. data/rdoc/site/0.2.1/index.html +317 -0
  136. data/rdoc/site/0.2.1/js/darkfish.js +155 -0
  137. data/rdoc/site/0.2.1/js/jquery.js +18 -0
  138. data/rdoc/site/0.2.1/js/navigation.js +142 -0
  139. data/rdoc/site/0.2.1/js/search.js +94 -0
  140. data/rdoc/site/0.2.1/js/search_index.js +1 -0
  141. data/rdoc/site/0.2.1/js/searcher.js +228 -0
  142. data/rdoc/site/0.2.1/rdoc.css +543 -0
  143. data/rdoc/site/0.2.1/table_of_contents.html +1718 -0
  144. metadata +120 -2
@@ -0,0 +1,288 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
6
+
7
+ <title>module Nucleon::Plugin - nucleon 0.2.1</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="module">
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
+ <li>lib/core/plugin/base.rb
52
+ <li>lib/core/plugin/command.rb
53
+ <li>lib/core/plugin/event.rb
54
+ <li>lib/core/plugin/extension.rb
55
+ <li>lib/core/plugin/project.rb
56
+ <li>lib/core/plugin/template.rb
57
+ <li>lib/core/plugin/translator.rb
58
+ </ul>
59
+ </nav>
60
+
61
+
62
+ </div>
63
+
64
+ <div id="class-metadata">
65
+
66
+
67
+
68
+
69
+ </div>
70
+
71
+ <div id="project-metadata">
72
+ <nav id="fileindex-section" class="section project-section">
73
+ <h3 class="section-header">Pages</h3>
74
+
75
+ <ul>
76
+
77
+ <li class="file"><a href="../ARCHITECTURE_rdoc.html">ARCHITECTURE</a>
78
+
79
+ <li class="file"><a href="../README_rdoc.html">README</a>
80
+
81
+ <li class="file"><a href="../TODO_rdoc.html">TODO</a>
82
+
83
+ </ul>
84
+ </nav>
85
+
86
+ <nav id="classindex-section" class="section project-section">
87
+ <h3 class="section-header">Class and Module Index</h3>
88
+
89
+ <ul class="link-list">
90
+
91
+ <li><a href="../Nucleon.html">Nucleon</a>
92
+
93
+ <li><a href="../Nucleon/Action.html">Nucleon::Action</a>
94
+
95
+ <li><a href="../Nucleon/Action/Extract.html">Nucleon::Action::Extract</a>
96
+
97
+ <li><a href="../Nucleon/Action/Project.html">Nucleon::Action::Project</a>
98
+
99
+ <li><a href="../Nucleon/Action/Project/Add.html">Nucleon::Action::Project::Add</a>
100
+
101
+ <li><a href="../Nucleon/Action/Project/Create.html">Nucleon::Action::Project::Create</a>
102
+
103
+ <li><a href="../Nucleon/Action/Project/Remove.html">Nucleon::Action::Project::Remove</a>
104
+
105
+ <li><a href="../Nucleon/Action/Project/Save.html">Nucleon::Action::Project::Save</a>
106
+
107
+ <li><a href="../Nucleon/Action/Project/Update.html">Nucleon::Action::Project::Update</a>
108
+
109
+ <li><a href="../Nucleon/Codes.html">Nucleon::Codes</a>
110
+
111
+ <li><a href="../Nucleon/Command.html">Nucleon::Command</a>
112
+
113
+ <li><a href="../Nucleon/Command/Bash.html">Nucleon::Command::Bash</a>
114
+
115
+ <li><a href="../Nucleon/Config.html">Nucleon::Config</a>
116
+
117
+ <li><a href="../Nucleon/Config/Collection.html">Nucleon::Config::Collection</a>
118
+
119
+ <li><a href="../Nucleon/Config/Options.html">Nucleon::Config::Options</a>
120
+
121
+ <li><a href="../Nucleon/Core.html">Nucleon::Core</a>
122
+
123
+ <li><a href="../Nucleon/Environment.html">Nucleon::Environment</a>
124
+
125
+ <li><a href="../Nucleon/Errors.html">Nucleon::Errors</a>
126
+
127
+ <li><a href="../Nucleon/Errors/BatchError.html">Nucleon::Errors::BatchError</a>
128
+
129
+ <li><a href="../Nucleon/Errors/NucleonError.html">Nucleon::Errors::NucleonError</a>
130
+
131
+ <li><a href="../Nucleon/Errors/SSHUnavailable.html">Nucleon::Errors::SSHUnavailable</a>
132
+
133
+ <li><a href="../Nucleon/Event.html">Nucleon::Event</a>
134
+
135
+ <li><a href="../Nucleon/Event/Regex.html">Nucleon::Event::Regex</a>
136
+
137
+ <li><a href="../Nucleon/Facade.html">Nucleon::Facade</a>
138
+
139
+ <li><a href="../Nucleon/Gems.html">Nucleon::Gems</a>
140
+
141
+ <li><a href="../Nucleon/Manager.html">Nucleon::Manager</a>
142
+
143
+ <li><a href="../Nucleon/Mixin.html">Nucleon::Mixin</a>
144
+
145
+ <li><a href="../Nucleon/Mixin/Action.html">Nucleon::Mixin::Action</a>
146
+
147
+ <li><a href="../Nucleon/Mixin/Action/Commit.html">Nucleon::Mixin::Action::Commit</a>
148
+
149
+ <li><a href="../Nucleon/Mixin/Action/Project.html">Nucleon::Mixin::Action::Project</a>
150
+
151
+ <li><a href="../Nucleon/Mixin/Action/Push.html">Nucleon::Mixin::Action::Push</a>
152
+
153
+ <li><a href="../Nucleon/Mixin/Action/Registration.html">Nucleon::Mixin::Action::Registration</a>
154
+
155
+ <li><a href="../Nucleon/Mixin/Colors.html">Nucleon::Mixin::Colors</a>
156
+
157
+ <li><a href="../Nucleon/Mixin/ConfigCollection.html">Nucleon::Mixin::ConfigCollection</a>
158
+
159
+ <li><a href="../Nucleon/Mixin/ConfigOptions.html">Nucleon::Mixin::ConfigOptions</a>
160
+
161
+ <li><a href="../Nucleon/Mixin/Macro.html">Nucleon::Mixin::Macro</a>
162
+
163
+ <li><a href="../Nucleon/Mixin/Macro/ObjectInterface.html">Nucleon::Mixin::Macro::ObjectInterface</a>
164
+
165
+ <li><a href="../Nucleon/Mixin/Macro/PluginInterface.html">Nucleon::Mixin::Macro::PluginInterface</a>
166
+
167
+ <li><a href="../Nucleon/Mixin/Settings.html">Nucleon::Mixin::Settings</a>
168
+
169
+ <li><a href="../Nucleon/Mixin/SubConfig.html">Nucleon::Mixin::SubConfig</a>
170
+
171
+ <li><a href="../Nucleon/Parallel.html">Nucleon::Parallel</a>
172
+
173
+ <li><a href="../Nucleon/Parallel/ClassMethods.html">Nucleon::Parallel::ClassMethods</a>
174
+
175
+ <li><a href="../Nucleon/Parallel/InstanceMethods.html">Nucleon::Parallel::InstanceMethods</a>
176
+
177
+ <li><a href="../Nucleon/Plugin.html">Nucleon::Plugin</a>
178
+
179
+ <li><a href="../Nucleon/Plugin/Action.html">Nucleon::Plugin::Action</a>
180
+
181
+ <li><a href="../Nucleon/Plugin/Action/Option.html">Nucleon::Plugin::Action::Option</a>
182
+
183
+ <li><a href="../Nucleon/Plugin/Base.html">Nucleon::Plugin::Base</a>
184
+
185
+ <li><a href="../Nucleon/Plugin/Command.html">Nucleon::Plugin::Command</a>
186
+
187
+ <li><a href="../Nucleon/Plugin/Event.html">Nucleon::Plugin::Event</a>
188
+
189
+ <li><a href="../Nucleon/Plugin/Extension.html">Nucleon::Plugin::Extension</a>
190
+
191
+ <li><a href="../Nucleon/Plugin/Project.html">Nucleon::Plugin::Project</a>
192
+
193
+ <li><a href="../Nucleon/Plugin/Template.html">Nucleon::Plugin::Template</a>
194
+
195
+ <li><a href="../Nucleon/Plugin/Translator.html">Nucleon::Plugin::Translator</a>
196
+
197
+ <li><a href="../Nucleon/Project.html">Nucleon::Project</a>
198
+
199
+ <li><a href="../Nucleon/Project/Git.html">Nucleon::Project::Git</a>
200
+
201
+ <li><a href="../Nucleon/Project/Github.html">Nucleon::Project::Github</a>
202
+
203
+ <li><a href="../Nucleon/Template.html">Nucleon::Template</a>
204
+
205
+ <li><a href="../Nucleon/Template/JSON.html">Nucleon::Template::JSON</a>
206
+
207
+ <li><a href="../Nucleon/Template/Wrapper.html">Nucleon::Template::Wrapper</a>
208
+
209
+ <li><a href="../Nucleon/Template/YAML.html">Nucleon::Template::YAML</a>
210
+
211
+ <li><a href="../Nucleon/Translator.html">Nucleon::Translator</a>
212
+
213
+ <li><a href="../Nucleon/Translator/JSON.html">Nucleon::Translator::JSON</a>
214
+
215
+ <li><a href="../Nucleon/Translator/YAML.html">Nucleon::Translator::YAML</a>
216
+
217
+ <li><a href="../Nucleon/Util.html">Nucleon::Util</a>
218
+
219
+ <li><a href="../Nucleon/Util/CLI.html">Nucleon::Util::CLI</a>
220
+
221
+ <li><a href="../Nucleon/Util/CLI/Parser.html">Nucleon::Util::CLI::Parser</a>
222
+
223
+ <li><a href="../Nucleon/Util/Cache.html">Nucleon::Util::Cache</a>
224
+
225
+ <li><a href="../Nucleon/Util/Console.html">Nucleon::Util::Console</a>
226
+
227
+ <li><a href="../Nucleon/Util/Data.html">Nucleon::Util::Data</a>
228
+
229
+ <li><a href="../Nucleon/Util/Disk.html">Nucleon::Util::Disk</a>
230
+
231
+ <li><a href="../Nucleon/Util/Git.html">Nucleon::Util::Git</a>
232
+
233
+ <li><a href="../Nucleon/Util/Liquid.html">Nucleon::Util::Liquid</a>
234
+
235
+ <li><a href="../Nucleon/Util/Logger.html">Nucleon::Util::Logger</a>
236
+
237
+ <li><a href="../Nucleon/Util/Package.html">Nucleon::Util::Package</a>
238
+
239
+ <li><a href="../Nucleon/Util/SSH.html">Nucleon::Util::SSH</a>
240
+
241
+ <li><a href="../Nucleon/Util/SSH/Keypair.html">Nucleon::Util::SSH::Keypair</a>
242
+
243
+ <li><a href="../Nucleon/Util/Shell.html">Nucleon::Util::Shell</a>
244
+
245
+ <li><a href="../Nucleon/Util/Shell/Result.html">Nucleon::Util::Shell::Result</a>
246
+
247
+ <li><a href="../Hash.html">Hash</a>
248
+
249
+ <li><a href="../Kernel.html">Kernel</a>
250
+
251
+ </ul>
252
+ </nav>
253
+
254
+ </div>
255
+ </nav>
256
+
257
+ <div id="documentation">
258
+ <h1 class="module">module Nucleon::Plugin</h1>
259
+
260
+ <div id="description" class="description">
261
+
262
+ </div><!-- description -->
263
+
264
+
265
+
266
+
267
+ <section id="5Buntitled-5D" class="documentation-section">
268
+
269
+
270
+
271
+
272
+
273
+
274
+
275
+
276
+ <!-- Methods -->
277
+
278
+ </section><!-- 5Buntitled-5D -->
279
+
280
+ </div><!-- documentation -->
281
+
282
+
283
+ <footer id="validator-badges">
284
+ <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
285
+ <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.2.
286
+ <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
287
+ </footer>
288
+
@@ -0,0 +1,2133 @@
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.2.1</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">Nucleon.plugin_class(:nucleon, :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-action_help">::action_help</a>
74
+
75
+ <li><a href="#method-c-action_index">::action_index</a>
76
+
77
+ <li><a href="#method-c-components">::components</a>
78
+
79
+ <li><a href="#method-c-describe">::describe</a>
80
+
81
+ <li><a href="#method-c-describe_base">::describe_base</a>
82
+
83
+ <li><a href="#method-c-exec">::exec</a>
84
+
85
+ <li><a href="#method-c-exec_cli">::exec_cli</a>
86
+
87
+ <li><a href="#method-c-exec_safe">::exec_safe</a>
88
+
89
+ <li><a href="#method-c-namespace">::namespace</a>
90
+
91
+ <li><a href="#method-c-render_colorized">::render_colorized</a>
92
+
93
+ <li><a href="#method-c-search_actions">::search_actions</a>
94
+
95
+ <li><a href="#method-i-arguments">#arguments</a>
96
+
97
+ <li><a href="#method-i-cleanup">#cleanup</a>
98
+
99
+ <li><a href="#method-i-config">#config</a>
100
+
101
+ <li><a href="#method-i-config_subset">#config_subset</a>
102
+
103
+ <li><a href="#method-i-configure">#configure</a>
104
+
105
+ <li><a href="#method-i-execute">#execute</a>
106
+
107
+ <li><a href="#method-i-help">#help</a>
108
+
109
+ <li><a href="#method-i-ignore">#ignore</a>
110
+
111
+ <li><a href="#method-i-index_config">#index_config</a>
112
+
113
+ <li><a href="#method-i-namespace">#namespace</a>
114
+
115
+ <li><a href="#method-i-normalize">#normalize</a>
116
+
117
+ <li><a href="#method-i-options">#options</a>
118
+
119
+ <li><a href="#method-i-parse">#parse</a>
120
+
121
+ <li><a href="#method-i-parse_base">#parse_base</a>
122
+
123
+ <li><a href="#method-i-parse_types">#parse_types</a>
124
+
125
+ <li><a href="#method-i-processed-3F">#processed?</a>
126
+
127
+ <li><a href="#method-i-register">#register</a>
128
+
129
+ <li><a href="#method-i-register_array">#register_array</a>
130
+
131
+ <li><a href="#method-i-register_bool">#register_bool</a>
132
+
133
+ <li><a href="#method-i-register_float">#register_float</a>
134
+
135
+ <li><a href="#method-i-register_int">#register_int</a>
136
+
137
+ <li><a href="#method-i-register_str">#register_str</a>
138
+
139
+ <li><a href="#method-i-remove">#remove</a>
140
+
141
+ <li><a href="#method-i-render_options">#render_options</a>
142
+
143
+ <li><a href="#method-i-result">#result</a>
144
+
145
+ <li><a href="#method-i-result-3D">#result=</a>
146
+
147
+ <li><a href="#method-i-run">#run</a>
148
+
149
+ <li><a href="#method-i-settings">#settings</a>
150
+
151
+ <li><a href="#method-i-strict-3F">#strict?</a>
152
+
153
+ <li><a href="#method-i-usage">#usage</a>
154
+
155
+ <li><a href="#method-i-usage-3D">#usage=</a>
156
+
157
+ <li><a href="#method-i-validate">#validate</a>
158
+
159
+ <li><a href="#method-i-validate_plugins">#validate_plugins</a>
160
+
161
+ </ul>
162
+ </nav>
163
+
164
+ </div>
165
+
166
+ <div id="project-metadata">
167
+ <nav id="fileindex-section" class="section project-section">
168
+ <h3 class="section-header">Pages</h3>
169
+
170
+ <ul>
171
+
172
+ <li class="file"><a href="../../ARCHITECTURE_rdoc.html">ARCHITECTURE</a>
173
+
174
+ <li class="file"><a href="../../README_rdoc.html">README</a>
175
+
176
+ <li class="file"><a href="../../TODO_rdoc.html">TODO</a>
177
+
178
+ </ul>
179
+ </nav>
180
+
181
+ <nav id="classindex-section" class="section project-section">
182
+ <h3 class="section-header">Class and Module Index</h3>
183
+
184
+ <ul class="link-list">
185
+
186
+ <li><a href="../../Nucleon.html">Nucleon</a>
187
+
188
+ <li><a href="../../Nucleon/Action.html">Nucleon::Action</a>
189
+
190
+ <li><a href="../../Nucleon/Action/Extract.html">Nucleon::Action::Extract</a>
191
+
192
+ <li><a href="../../Nucleon/Action/Project.html">Nucleon::Action::Project</a>
193
+
194
+ <li><a href="../../Nucleon/Action/Project/Add.html">Nucleon::Action::Project::Add</a>
195
+
196
+ <li><a href="../../Nucleon/Action/Project/Create.html">Nucleon::Action::Project::Create</a>
197
+
198
+ <li><a href="../../Nucleon/Action/Project/Remove.html">Nucleon::Action::Project::Remove</a>
199
+
200
+ <li><a href="../../Nucleon/Action/Project/Save.html">Nucleon::Action::Project::Save</a>
201
+
202
+ <li><a href="../../Nucleon/Action/Project/Update.html">Nucleon::Action::Project::Update</a>
203
+
204
+ <li><a href="../../Nucleon/Codes.html">Nucleon::Codes</a>
205
+
206
+ <li><a href="../../Nucleon/Command.html">Nucleon::Command</a>
207
+
208
+ <li><a href="../../Nucleon/Command/Bash.html">Nucleon::Command::Bash</a>
209
+
210
+ <li><a href="../../Nucleon/Config.html">Nucleon::Config</a>
211
+
212
+ <li><a href="../../Nucleon/Config/Collection.html">Nucleon::Config::Collection</a>
213
+
214
+ <li><a href="../../Nucleon/Config/Options.html">Nucleon::Config::Options</a>
215
+
216
+ <li><a href="../../Nucleon/Core.html">Nucleon::Core</a>
217
+
218
+ <li><a href="../../Nucleon/Environment.html">Nucleon::Environment</a>
219
+
220
+ <li><a href="../../Nucleon/Errors.html">Nucleon::Errors</a>
221
+
222
+ <li><a href="../../Nucleon/Errors/BatchError.html">Nucleon::Errors::BatchError</a>
223
+
224
+ <li><a href="../../Nucleon/Errors/NucleonError.html">Nucleon::Errors::NucleonError</a>
225
+
226
+ <li><a href="../../Nucleon/Errors/SSHUnavailable.html">Nucleon::Errors::SSHUnavailable</a>
227
+
228
+ <li><a href="../../Nucleon/Event.html">Nucleon::Event</a>
229
+
230
+ <li><a href="../../Nucleon/Event/Regex.html">Nucleon::Event::Regex</a>
231
+
232
+ <li><a href="../../Nucleon/Facade.html">Nucleon::Facade</a>
233
+
234
+ <li><a href="../../Nucleon/Gems.html">Nucleon::Gems</a>
235
+
236
+ <li><a href="../../Nucleon/Manager.html">Nucleon::Manager</a>
237
+
238
+ <li><a href="../../Nucleon/Mixin.html">Nucleon::Mixin</a>
239
+
240
+ <li><a href="../../Nucleon/Mixin/Action.html">Nucleon::Mixin::Action</a>
241
+
242
+ <li><a href="../../Nucleon/Mixin/Action/Commit.html">Nucleon::Mixin::Action::Commit</a>
243
+
244
+ <li><a href="../../Nucleon/Mixin/Action/Project.html">Nucleon::Mixin::Action::Project</a>
245
+
246
+ <li><a href="../../Nucleon/Mixin/Action/Push.html">Nucleon::Mixin::Action::Push</a>
247
+
248
+ <li><a href="../../Nucleon/Mixin/Action/Registration.html">Nucleon::Mixin::Action::Registration</a>
249
+
250
+ <li><a href="../../Nucleon/Mixin/Colors.html">Nucleon::Mixin::Colors</a>
251
+
252
+ <li><a href="../../Nucleon/Mixin/ConfigCollection.html">Nucleon::Mixin::ConfigCollection</a>
253
+
254
+ <li><a href="../../Nucleon/Mixin/ConfigOptions.html">Nucleon::Mixin::ConfigOptions</a>
255
+
256
+ <li><a href="../../Nucleon/Mixin/Macro.html">Nucleon::Mixin::Macro</a>
257
+
258
+ <li><a href="../../Nucleon/Mixin/Macro/ObjectInterface.html">Nucleon::Mixin::Macro::ObjectInterface</a>
259
+
260
+ <li><a href="../../Nucleon/Mixin/Macro/PluginInterface.html">Nucleon::Mixin::Macro::PluginInterface</a>
261
+
262
+ <li><a href="../../Nucleon/Mixin/Settings.html">Nucleon::Mixin::Settings</a>
263
+
264
+ <li><a href="../../Nucleon/Mixin/SubConfig.html">Nucleon::Mixin::SubConfig</a>
265
+
266
+ <li><a href="../../Nucleon/Parallel.html">Nucleon::Parallel</a>
267
+
268
+ <li><a href="../../Nucleon/Parallel/ClassMethods.html">Nucleon::Parallel::ClassMethods</a>
269
+
270
+ <li><a href="../../Nucleon/Parallel/InstanceMethods.html">Nucleon::Parallel::InstanceMethods</a>
271
+
272
+ <li><a href="../../Nucleon/Plugin.html">Nucleon::Plugin</a>
273
+
274
+ <li><a href="../../Nucleon/Plugin/Action.html">Nucleon::Plugin::Action</a>
275
+
276
+ <li><a href="../../Nucleon/Plugin/Action/Option.html">Nucleon::Plugin::Action::Option</a>
277
+
278
+ <li><a href="../../Nucleon/Plugin/Base.html">Nucleon::Plugin::Base</a>
279
+
280
+ <li><a href="../../Nucleon/Plugin/Command.html">Nucleon::Plugin::Command</a>
281
+
282
+ <li><a href="../../Nucleon/Plugin/Event.html">Nucleon::Plugin::Event</a>
283
+
284
+ <li><a href="../../Nucleon/Plugin/Extension.html">Nucleon::Plugin::Extension</a>
285
+
286
+ <li><a href="../../Nucleon/Plugin/Project.html">Nucleon::Plugin::Project</a>
287
+
288
+ <li><a href="../../Nucleon/Plugin/Template.html">Nucleon::Plugin::Template</a>
289
+
290
+ <li><a href="../../Nucleon/Plugin/Translator.html">Nucleon::Plugin::Translator</a>
291
+
292
+ <li><a href="../../Nucleon/Project.html">Nucleon::Project</a>
293
+
294
+ <li><a href="../../Nucleon/Project/Git.html">Nucleon::Project::Git</a>
295
+
296
+ <li><a href="../../Nucleon/Project/Github.html">Nucleon::Project::Github</a>
297
+
298
+ <li><a href="../../Nucleon/Template.html">Nucleon::Template</a>
299
+
300
+ <li><a href="../../Nucleon/Template/JSON.html">Nucleon::Template::JSON</a>
301
+
302
+ <li><a href="../../Nucleon/Template/Wrapper.html">Nucleon::Template::Wrapper</a>
303
+
304
+ <li><a href="../../Nucleon/Template/YAML.html">Nucleon::Template::YAML</a>
305
+
306
+ <li><a href="../../Nucleon/Translator.html">Nucleon::Translator</a>
307
+
308
+ <li><a href="../../Nucleon/Translator/JSON.html">Nucleon::Translator::JSON</a>
309
+
310
+ <li><a href="../../Nucleon/Translator/YAML.html">Nucleon::Translator::YAML</a>
311
+
312
+ <li><a href="../../Nucleon/Util.html">Nucleon::Util</a>
313
+
314
+ <li><a href="../../Nucleon/Util/CLI.html">Nucleon::Util::CLI</a>
315
+
316
+ <li><a href="../../Nucleon/Util/CLI/Parser.html">Nucleon::Util::CLI::Parser</a>
317
+
318
+ <li><a href="../../Nucleon/Util/Cache.html">Nucleon::Util::Cache</a>
319
+
320
+ <li><a href="../../Nucleon/Util/Console.html">Nucleon::Util::Console</a>
321
+
322
+ <li><a href="../../Nucleon/Util/Data.html">Nucleon::Util::Data</a>
323
+
324
+ <li><a href="../../Nucleon/Util/Disk.html">Nucleon::Util::Disk</a>
325
+
326
+ <li><a href="../../Nucleon/Util/Git.html">Nucleon::Util::Git</a>
327
+
328
+ <li><a href="../../Nucleon/Util/Liquid.html">Nucleon::Util::Liquid</a>
329
+
330
+ <li><a href="../../Nucleon/Util/Logger.html">Nucleon::Util::Logger</a>
331
+
332
+ <li><a href="../../Nucleon/Util/Package.html">Nucleon::Util::Package</a>
333
+
334
+ <li><a href="../../Nucleon/Util/SSH.html">Nucleon::Util::SSH</a>
335
+
336
+ <li><a href="../../Nucleon/Util/SSH/Keypair.html">Nucleon::Util::SSH::Keypair</a>
337
+
338
+ <li><a href="../../Nucleon/Util/Shell.html">Nucleon::Util::Shell</a>
339
+
340
+ <li><a href="../../Nucleon/Util/Shell/Result.html">Nucleon::Util::Shell::Result</a>
341
+
342
+ <li><a href="../../Hash.html">Hash</a>
343
+
344
+ <li><a href="../../Kernel.html">Kernel</a>
345
+
346
+ </ul>
347
+ </nav>
348
+
349
+ </div>
350
+ </nav>
351
+
352
+ <div id="documentation">
353
+ <h1 class="class">class Nucleon::Plugin::Action</h1>
354
+
355
+ <div id="description" class="description">
356
+
357
+ </div><!-- description -->
358
+
359
+
360
+
361
+
362
+ <section id="5Buntitled-5D" class="documentation-section">
363
+
364
+
365
+
366
+
367
+
368
+
369
+
370
+
371
+ <!-- Methods -->
372
+
373
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section section">
374
+ <h3 class="section-header">Public Class Methods</h3>
375
+
376
+
377
+ <div id="method-c-action_help" class="method-detail ">
378
+
379
+ <div class="method-heading">
380
+ <span class="method-name">action_help</span><span
381
+ class="method-args">(action = nil, extended_help = false)</span>
382
+ <span class="method-click-advice">click to toggle source</span>
383
+ </div>
384
+
385
+
386
+ <div class="method-description">
387
+
388
+
389
+
390
+
391
+
392
+ <div class="method-source-code" id="action_help-source">
393
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 606</span>
394
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">action_help</span>(<span class="ruby-identifier">action</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">extended_help</span> = <span class="ruby-keyword">false</span>)
395
+ <span class="ruby-identifier">action_index</span> = <span class="ruby-identifier">action_index</span>(<span class="ruby-keyword">false</span>).<span class="ruby-identifier">export</span>
396
+ <span class="ruby-identifier">provider_index</span> = {}
397
+ <span class="ruby-identifier">processed_actions</span> = {}
398
+
399
+ <span class="ruby-identifier">last_namespace</span> = <span class="ruby-keyword">nil</span>
400
+ <span class="ruby-identifier">last_group</span> = <span class="ruby-keyword">nil</span>
401
+ <span class="ruby-identifier">multiple_found</span> = <span class="ruby-keyword">false</span>
402
+
403
+ <span class="ruby-identifier">command_width</span> = <span class="ruby-value">0</span>
404
+ <span class="ruby-identifier">namespace_command_width</span> = {}
405
+
406
+ <span class="ruby-identifier">output</span> = <span class="ruby-string">&#39;&#39;</span>
407
+
408
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">action</span>
409
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">action</span>.<span class="ruby-identifier">empty?</span>
410
+ <span class="ruby-identifier">output</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">cyan</span>(<span class="ruby-identifier">sprintf</span>(<span class="ruby-string">&quot;\n%s\n&quot;</span>, <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">t</span>(<span class="ruby-string">&#39;nucleon.core.exec.help.no_actions_found&#39;</span>)))
411
+ <span class="ruby-keyword">else</span>
412
+ <span class="ruby-identifier">multiple_found</span> = <span class="ruby-keyword">true</span>
413
+ <span class="ruby-identifier">output</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">cyan</span>(<span class="ruby-identifier">sprintf</span>(<span class="ruby-string">&quot;\n%s\n&quot;</span>, <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">t</span>(<span class="ruby-string">&#39;nucleon.core.exec.help.multiple_actions_found&#39;</span>)))
414
+
415
+ <span class="ruby-identifier">action</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">info</span><span class="ruby-operator">|</span>
416
+ <span class="ruby-identifier">provider_index</span>[<span class="ruby-identifier">info</span>[<span class="ruby-value">:provider</span>]] = <span class="ruby-keyword">true</span>
417
+ <span class="ruby-keyword">end</span>
418
+ <span class="ruby-keyword">end</span>
419
+ <span class="ruby-keyword">end</span>
420
+
421
+ <span class="ruby-identifier">action_index</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">action_id</span>, <span class="ruby-identifier">info</span><span class="ruby-operator">|</span>
422
+ <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">multiple_found</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">provider_index</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">info</span>[<span class="ruby-value">:provider</span>])
423
+ <span class="ruby-identifier">action</span> = <span class="ruby-constant">Nucleon</span>.<span class="ruby-identifier">action</span>(<span class="ruby-identifier">info</span>[<span class="ruby-value">:provider</span>], { <span class="ruby-value">:settings</span> =<span class="ruby-operator">&gt;</span> {}, <span class="ruby-value">:quiet</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span> })
424
+ <span class="ruby-identifier">command_text</span> = <span class="ruby-identifier">action</span>.<span class="ruby-identifier">help</span>
425
+
426
+ <span class="ruby-identifier">command_size</span> = <span class="ruby-identifier">command_text</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/\e\[(\d+)m/</span>, <span class="ruby-string">&#39;&#39;</span>).<span class="ruby-identifier">size</span>
427
+ <span class="ruby-identifier">command_width</span> = [ <span class="ruby-identifier">command_width</span>, <span class="ruby-identifier">command_size</span> <span class="ruby-operator">+</span> <span class="ruby-value">2</span> ].<span class="ruby-identifier">max</span>
428
+
429
+ <span class="ruby-identifier">namespace</span> = <span class="ruby-identifier">info</span>[<span class="ruby-value">:description</span>][<span class="ruby-value">:namespace</span>]
430
+
431
+ <span class="ruby-identifier">namespace_command_width</span>[<span class="ruby-identifier">namespace</span>] = <span class="ruby-value">0</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">namespace_command_width</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">namespace</span>)
432
+ <span class="ruby-identifier">namespace_command_width</span>[<span class="ruby-identifier">namespace</span>] = [ <span class="ruby-identifier">namespace_command_width</span>[<span class="ruby-identifier">namespace</span>], <span class="ruby-identifier">command_size</span> <span class="ruby-operator">+</span> <span class="ruby-value">2</span> ].<span class="ruby-identifier">max</span>
433
+
434
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">extended_help</span>
435
+ <span class="ruby-identifier">help_text</span> = <span class="ruby-string">&#39;&#39;</span>
436
+ <span class="ruby-identifier">info</span>[<span class="ruby-value">:description</span>][<span class="ruby-value">:help</span>].<span class="ruby-identifier">split</span>(<span class="ruby-string">&quot;\n&quot;</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
437
+ <span class="ruby-keyword">break</span> <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">help_text</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">empty?</span>
438
+ <span class="ruby-identifier">help_text</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-string">&#39; &#39;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">line</span> <span class="ruby-operator">+</span> <span class="ruby-string">&quot;\n&quot;</span>
439
+ <span class="ruby-keyword">end</span>
440
+ <span class="ruby-keyword">else</span>
441
+ <span class="ruby-identifier">help_text</span> = <span class="ruby-keyword">nil</span>
442
+ <span class="ruby-keyword">end</span>
443
+
444
+ <span class="ruby-identifier">processed_actions</span>[<span class="ruby-identifier">action_id</span>] = {
445
+ <span class="ruby-value">:info</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">info</span>,
446
+ <span class="ruby-value">:command</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">command_text</span>,
447
+ <span class="ruby-value">:help</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">help_text</span>
448
+ }
449
+ <span class="ruby-keyword">end</span>
450
+ <span class="ruby-keyword">end</span>
451
+
452
+ <span class="ruby-identifier">processed_actions</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">action_id</span>, <span class="ruby-identifier">info</span><span class="ruby-operator">|</span>
453
+ <span class="ruby-identifier">command_text</span> = <span class="ruby-identifier">info</span>[<span class="ruby-value">:command</span>]
454
+ <span class="ruby-identifier">help_text</span> = <span class="ruby-identifier">info</span>[<span class="ruby-value">:help</span>]
455
+ <span class="ruby-identifier">info</span> = <span class="ruby-identifier">info</span>[<span class="ruby-value">:info</span>]
456
+ <span class="ruby-identifier">namespace</span> = <span class="ruby-identifier">info</span>[<span class="ruby-value">:description</span>][<span class="ruby-value">:namespace</span>]
457
+ <span class="ruby-identifier">group</span> = <span class="ruby-identifier">info</span>[<span class="ruby-value">:description</span>][<span class="ruby-value">:group</span>]
458
+
459
+ <span class="ruby-identifier">group_id</span> = <span class="ruby-identifier">group</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">group</span>.<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39;::&#39;</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">group</span>
460
+ <span class="ruby-identifier">group_id</span> = <span class="ruby-string">&#39;&#39;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">group_id</span>
461
+
462
+ <span class="ruby-identifier">output</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-string">&quot;\n&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">group_id</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">last_group</span>
463
+
464
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">namespace</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">last_namespace</span>
465
+ <span class="ruby-identifier">output</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-string">&quot;\n----------------------------------------------------\n&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">help_text</span>
466
+ <span class="ruby-identifier">output</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">sprintf</span>(<span class="ruby-string">&quot;\n %s:\n\n&quot;</span>, <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">t</span>(<span class="ruby-string">&#39;nucleon.core.exec.help.action_group&#39;</span>, { <span class="ruby-value">:namespace</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">purple</span>(<span class="ruby-identifier">namespace</span>) }))
467
+ <span class="ruby-keyword">end</span>
468
+
469
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">help_text</span>
470
+ <span class="ruby-identifier">output</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-string">&quot; &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">render_colorized</span>(<span class="ruby-identifier">command_text</span>, <span class="ruby-identifier">namespace_command_width</span>[<span class="ruby-identifier">namespace</span>]) <span class="ruby-operator">+</span> <span class="ruby-string">&quot; -- &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">blue</span>(<span class="ruby-identifier">info</span>[<span class="ruby-value">:description</span>][<span class="ruby-value">:description</span>]) <span class="ruby-operator">+</span> <span class="ruby-string">&quot;\n&quot;</span>
471
+ <span class="ruby-identifier">output</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;\n#{help_text}\n&quot;</span>
472
+ <span class="ruby-keyword">else</span>
473
+ <span class="ruby-identifier">output</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-string">&quot; &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">render_colorized</span>(<span class="ruby-identifier">command_text</span>, <span class="ruby-identifier">command_width</span>) <span class="ruby-operator">+</span> <span class="ruby-string">&quot; -- &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">blue</span>(<span class="ruby-identifier">info</span>[<span class="ruby-value">:description</span>][<span class="ruby-value">:description</span>]) <span class="ruby-operator">+</span> <span class="ruby-string">&quot;\n&quot;</span>
474
+ <span class="ruby-keyword">end</span>
475
+
476
+ <span class="ruby-identifier">last_namespace</span> = <span class="ruby-identifier">namespace</span>
477
+ <span class="ruby-identifier">last_group</span> = <span class="ruby-identifier">group_id</span>
478
+ <span class="ruby-keyword">end</span>
479
+ <span class="ruby-identifier">output</span>
480
+ <span class="ruby-keyword">end</span></pre>
481
+ </div><!-- action_help-source -->
482
+
483
+ </div>
484
+
485
+
486
+
487
+
488
+ </div><!-- action_help-method -->
489
+
490
+
491
+ <div id="method-c-action_index" class="method-detail ">
492
+
493
+ <div class="method-heading">
494
+ <span class="method-name">action_index</span><span
495
+ class="method-args">(tree = true)</span>
496
+ <span class="method-click-advice">click to toggle source</span>
497
+ </div>
498
+
499
+
500
+ <div class="method-description">
501
+
502
+
503
+
504
+
505
+
506
+ <div class="method-source-code" id="action_index-source">
507
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 518</span>
508
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">action_index</span>(<span class="ruby-identifier">tree</span> = <span class="ruby-keyword">true</span>)
509
+ <span class="ruby-identifier">action_config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">new</span>
510
+ <span class="ruby-identifier">action_index</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">new</span>
511
+
512
+ <span class="ruby-identifier">generate_index</span> = <span class="ruby-identifier">lambda</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">info</span>, <span class="ruby-identifier">parents</span> = <span class="ruby-keyword">nil</span><span class="ruby-operator">|</span>
513
+ <span class="ruby-identifier">groups</span> = <span class="ruby-identifier">info</span>.<span class="ruby-identifier">keys</span> <span class="ruby-operator">-</span> [ <span class="ruby-value">:_weight</span>, <span class="ruby-value">:_weights</span> ]
514
+ <span class="ruby-identifier">groups</span> = <span class="ruby-identifier">groups</span>.<span class="ruby-identifier">sort</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span><span class="ruby-operator">|</span>
515
+ <span class="ruby-identifier">info</span>[<span class="ruby-identifier">b</span>][<span class="ruby-value">:_weight</span>] <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">info</span>[<span class="ruby-identifier">a</span>][<span class="ruby-value">:_weight</span>]
516
+ <span class="ruby-keyword">end</span>
517
+
518
+ <span class="ruby-identifier">groups</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">group</span><span class="ruby-operator">|</span>
519
+ <span class="ruby-identifier">data</span> = <span class="ruby-identifier">info</span>[<span class="ruby-identifier">group</span>]
520
+
521
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">data</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Hash</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">data</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-value">:_weights</span>)
522
+ <span class="ruby-identifier">sub_parents</span> = <span class="ruby-identifier">parents</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">?</span> [ <span class="ruby-identifier">group</span> ] <span class="ruby-operator">:</span> [ <span class="ruby-identifier">parents</span>, <span class="ruby-identifier">group</span> ].<span class="ruby-identifier">flatten</span>
523
+ <span class="ruby-identifier">generate_index</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">sub_parents</span>)
524
+ <span class="ruby-keyword">else</span>
525
+ <span class="ruby-identifier">keys</span> = <span class="ruby-identifier">tree</span> <span class="ruby-operator">?</span> [ <span class="ruby-identifier">parents</span>, <span class="ruby-identifier">group</span> ] <span class="ruby-operator">:</span> [ <span class="ruby-identifier">parents</span>, <span class="ruby-identifier">group</span> ].<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39;::&#39;</span>)
526
+ <span class="ruby-identifier">action_index</span>.<span class="ruby-identifier">set</span>(<span class="ruby-identifier">keys</span>, <span class="ruby-identifier">data</span>)
527
+ <span class="ruby-keyword">end</span>
528
+ <span class="ruby-keyword">end</span>
529
+ <span class="ruby-keyword">end</span>
530
+
531
+ <span class="ruby-constant">Nucleon</span>.<span class="ruby-identifier">loaded_plugins</span>(<span class="ruby-value">:nucleon</span>, <span class="ruby-value">:action</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">provider</span>, <span class="ruby-identifier">data</span><span class="ruby-operator">|</span>
532
+ <span class="ruby-identifier">description</span> = <span class="ruby-identifier">data</span>[<span class="ruby-value">:class</span>].<span class="ruby-identifier">describe</span>
533
+ <span class="ruby-identifier">data</span>[<span class="ruby-value">:description</span>] = <span class="ruby-identifier">description</span>
534
+ <span class="ruby-identifier">data</span>[<span class="ruby-value">:_weight</span>] = <span class="ruby-identifier">description</span>[<span class="ruby-value">:weight</span>]
535
+
536
+ <span class="ruby-identifier">keys</span> = [ <span class="ruby-identifier">description</span>[<span class="ruby-value">:namespace</span>], <span class="ruby-identifier">description</span>[<span class="ruby-value">:group</span>], <span class="ruby-identifier">description</span>[<span class="ruby-value">:action</span>] ].<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">compact</span>
537
+ <span class="ruby-identifier">action_config</span>.<span class="ruby-identifier">set</span>(<span class="ruby-identifier">keys</span>, <span class="ruby-identifier">data</span>)
538
+
539
+ <span class="ruby-identifier">keys</span>.<span class="ruby-identifier">pop</span>
540
+
541
+ <span class="ruby-keyword">while</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">keys</span>.<span class="ruby-identifier">empty?</span>
542
+ <span class="ruby-identifier">group_config</span> = <span class="ruby-identifier">action_config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">keys</span>)
543
+
544
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">group_config</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-value">:_weights</span>)
545
+ <span class="ruby-identifier">group_config</span>[<span class="ruby-value">:_weights</span>].<span class="ruby-identifier">push</span>(<span class="ruby-identifier">description</span>[<span class="ruby-value">:weight</span>])
546
+ <span class="ruby-keyword">else</span>
547
+ <span class="ruby-identifier">action_config</span>.<span class="ruby-identifier">set</span>([ <span class="ruby-identifier">keys</span>, <span class="ruby-value">:_weights</span> ], [ <span class="ruby-identifier">description</span>[<span class="ruby-value">:weight</span>] ])
548
+ <span class="ruby-keyword">end</span>
549
+ <span class="ruby-identifier">action_config</span>.<span class="ruby-identifier">set</span>([ <span class="ruby-identifier">keys</span>, <span class="ruby-value">:_weight</span> ], <span class="ruby-identifier">group_config</span>[<span class="ruby-value">:_weights</span>].<span class="ruby-identifier">inject</span>(<span class="ruby-value">0.0</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">sum</span>, <span class="ruby-identifier">el</span><span class="ruby-operator">|</span> <span class="ruby-identifier">sum</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">el</span> } <span class="ruby-operator">/</span> <span class="ruby-identifier">group_config</span>[<span class="ruby-value">:_weights</span>].<span class="ruby-identifier">size</span>)
550
+ <span class="ruby-identifier">keys</span>.<span class="ruby-identifier">pop</span>
551
+ <span class="ruby-keyword">end</span>
552
+ <span class="ruby-keyword">end</span>
553
+
554
+ <span class="ruby-identifier">generate_index</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">action_config</span>.<span class="ruby-identifier">export</span>)
555
+ <span class="ruby-identifier">action_index</span>
556
+ <span class="ruby-keyword">end</span></pre>
557
+ </div><!-- action_index-source -->
558
+
559
+ </div>
560
+
561
+
562
+
563
+
564
+ </div><!-- action_index-method -->
565
+
566
+
567
+ <div id="method-c-components" class="method-detail ">
568
+
569
+ <div class="method-heading">
570
+ <span class="method-name">components</span><span
571
+ class="method-args">(search)</span>
572
+ <span class="method-click-advice">click to toggle source</span>
573
+ </div>
574
+
575
+
576
+ <div class="method-description">
577
+
578
+
579
+
580
+
581
+
582
+ <div class="method-source-code" id="components-source">
583
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 506</span>
584
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">components</span>(<span class="ruby-identifier">search</span>)
585
+ <span class="ruby-identifier">components</span> = []
586
+
587
+ <span class="ruby-identifier">array</span>(<span class="ruby-identifier">search</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">element</span><span class="ruby-operator">|</span>
588
+ <span class="ruby-keyword">break</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">element</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp">/^\-+/</span>)
589
+ <span class="ruby-identifier">components</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">element</span>
590
+ <span class="ruby-keyword">end</span>
591
+ <span class="ruby-identifier">components</span>
592
+ <span class="ruby-keyword">end</span></pre>
593
+ </div><!-- components-source -->
594
+
595
+ </div>
596
+
597
+
598
+
599
+
600
+ </div><!-- components-method -->
601
+
602
+
603
+ <div id="method-c-describe" class="method-detail ">
604
+
605
+ <div class="method-heading">
606
+ <span class="method-name">describe</span><span
607
+ class="method-args">(group = nil, action = 'unknown', weight = -1000, description = nil, help = nil)</span>
608
+ <span class="method-click-advice">click to toggle source</span>
609
+ </div>
610
+
611
+
612
+ <div class="method-description">
613
+
614
+
615
+
616
+
617
+
618
+ <div class="method-source-code" id="describe-source">
619
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 11</span>
620
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">describe</span>(<span class="ruby-identifier">group</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">action</span> = <span class="ruby-string">&#39;unknown&#39;</span>, <span class="ruby-identifier">weight</span> = <span class="ruby-value">-1000</span>, <span class="ruby-identifier">description</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">help</span> = <span class="ruby-keyword">nil</span>)
621
+ <span class="ruby-identifier">describe_base</span>(<span class="ruby-identifier">group</span>, <span class="ruby-identifier">action</span>, <span class="ruby-identifier">weight</span>, <span class="ruby-identifier">description</span>, <span class="ruby-identifier">help</span>)
622
+ <span class="ruby-keyword">end</span></pre>
623
+ </div><!-- describe-source -->
624
+
625
+ </div>
626
+
627
+
628
+
629
+
630
+ </div><!-- describe-method -->
631
+
632
+
633
+ <div id="method-c-describe_base" class="method-detail ">
634
+
635
+ <div class="method-heading">
636
+ <span class="method-name">describe_base</span><span
637
+ class="method-args">(group = nil, action = 'unknown', weight = -1000, description = nil, help = nil)</span>
638
+ <span class="method-click-advice">click to toggle source</span>
639
+ </div>
640
+
641
+
642
+ <div class="method-description">
643
+
644
+
645
+
646
+
647
+
648
+ <div class="method-source-code" id="describe_base-source">
649
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 15</span>
650
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">describe_base</span>(<span class="ruby-identifier">group</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">action</span> = <span class="ruby-string">&#39;unknown&#39;</span>, <span class="ruby-identifier">weight</span> = <span class="ruby-value">-1000</span>, <span class="ruby-identifier">description</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">help</span> = <span class="ruby-keyword">nil</span>)
651
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">group</span>
652
+ <span class="ruby-identifier">group_name</span> = <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Data</span>.<span class="ruby-identifier">array</span>(<span class="ruby-identifier">group</span>).<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39;.&#39;</span>)
653
+ <span class="ruby-identifier">description_id</span> = <span class="ruby-node">&quot;#{namespace}.action.#{group_name}.#{action}.description&quot;</span>
654
+ <span class="ruby-identifier">help_id</span> = <span class="ruby-node">&quot;#{namespace}.action.#{group_name}.#{action}.help&quot;</span>
655
+ <span class="ruby-keyword">else</span>
656
+ <span class="ruby-identifier">description_id</span> = <span class="ruby-node">&quot;#{namespace}.action.#{action}.description&quot;</span>
657
+ <span class="ruby-identifier">help_id</span> = <span class="ruby-node">&quot;#{namespace}.action.#{action}.help&quot;</span>
658
+ <span class="ruby-keyword">end</span>
659
+
660
+ {
661
+ <span class="ruby-value">:namespace</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">namespace</span>,
662
+ <span class="ruby-value">:weight</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">weight</span>,
663
+ <span class="ruby-value">:group</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">group</span>,
664
+ <span class="ruby-value">:action</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">action</span>,
665
+ <span class="ruby-value">:description</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">description</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">description</span> <span class="ruby-operator">:</span> <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">t</span>(<span class="ruby-identifier">description_id</span>),
666
+ <span class="ruby-value">:help</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">help</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">help</span> <span class="ruby-operator">:</span> <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">t</span>(<span class="ruby-identifier">help_id</span>)
667
+ }
668
+ <span class="ruby-keyword">end</span></pre>
669
+ </div><!-- describe_base-source -->
670
+
671
+ </div>
672
+
673
+
674
+
675
+
676
+ </div><!-- describe_base-method -->
677
+
678
+
679
+ <div id="method-c-exec" class="method-detail ">
680
+
681
+ <div class="method-heading">
682
+ <span class="method-name">exec</span><span
683
+ class="method-args">(provider, options, quiet = true)</span>
684
+ <span class="method-click-advice">click to toggle source</span>
685
+ </div>
686
+
687
+
688
+ <div class="method-description">
689
+
690
+
691
+
692
+
693
+
694
+ <div class="method-source-code" id="exec-source">
695
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 99</span>
696
+ <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>)
697
+ <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> })
698
+ <span class="ruby-keyword">end</span></pre>
699
+ </div><!-- exec-source -->
700
+
701
+ </div>
702
+
703
+
704
+
705
+
706
+ </div><!-- exec-method -->
707
+
708
+
709
+ <div id="method-c-exec_cli" class="method-detail ">
710
+
711
+ <div class="method-heading">
712
+ <span class="method-name">exec_cli</span><span
713
+ class="method-args">(provider, args, quiet = false, name = :nucleon)</span>
714
+ <span class="method-click-advice">click to toggle source</span>
715
+ </div>
716
+
717
+
718
+ <div class="method-description">
719
+
720
+
721
+
722
+
723
+
724
+ <div class="method-source-code" id="exec_cli-source">
725
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 103</span>
726
+ <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>)
727
+ <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> })
728
+ <span class="ruby-identifier">results</span>[<span class="ruby-value">:status</span>]
729
+ <span class="ruby-keyword">end</span></pre>
730
+ </div><!-- exec_cli-source -->
731
+
732
+ </div>
733
+
734
+
735
+
736
+
737
+ </div><!-- exec_cli-method -->
738
+
739
+
740
+ <div id="method-c-exec_safe" class="method-detail ">
741
+
742
+ <div class="method-heading">
743
+ <span class="method-name">exec_safe</span><span
744
+ class="method-args">(provider, options)</span>
745
+ <span class="method-click-advice">click to toggle source</span>
746
+ </div>
747
+
748
+
749
+ <div class="method-description">
750
+
751
+
752
+
753
+
754
+
755
+ <div class="method-source-code" id="exec_safe-source">
756
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 73</span>
757
+ <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>)
758
+ <span class="ruby-identifier">action_result</span> = <span class="ruby-keyword">nil</span>
759
+
760
+ <span class="ruby-keyword">begin</span>
761
+ <span class="ruby-identifier">logger</span> = <span class="ruby-constant">Nucleon</span>.<span class="ruby-identifier">logger</span>
762
+
763
+ <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>)
764
+ <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>)
765
+ <span class="ruby-identifier">exit_status</span> = <span class="ruby-identifier">action</span>.<span class="ruby-identifier">execute</span>
766
+ <span class="ruby-identifier">action_result</span> = <span class="ruby-identifier">action</span>.<span class="ruby-identifier">result</span>
767
+
768
+ <span class="ruby-keyword">rescue</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">error</span>
769
+ <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>)
770
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">error</span>(<span class="ruby-identifier">error</span>.<span class="ruby-identifier">inspect</span>)
771
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">error</span>(<span class="ruby-identifier">error</span>.<span class="ruby-identifier">message</span>)
772
+ <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>))
773
+
774
+ <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>
775
+
776
+ <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>)
777
+ <span class="ruby-keyword">end</span>
778
+
779
+ <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>)
780
+ { <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> }
781
+ <span class="ruby-keyword">end</span></pre>
782
+ </div><!-- exec_safe-source -->
783
+
784
+ </div>
785
+
786
+
787
+
788
+
789
+ </div><!-- exec_safe-method -->
790
+
791
+
792
+ <div id="method-c-namespace" class="method-detail ">
793
+
794
+ <div class="method-heading">
795
+ <span class="method-name">namespace</span><span
796
+ class="method-args">()</span>
797
+ <span class="method-click-advice">click to toggle source</span>
798
+ </div>
799
+
800
+
801
+ <div class="method-description">
802
+
803
+
804
+
805
+
806
+
807
+ <div class="method-source-code" id="namespace-source">
808
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 37</span>
809
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">namespace</span>
810
+ <span class="ruby-value">:nucleon</span>
811
+ <span class="ruby-keyword">end</span></pre>
812
+ </div><!-- namespace-source -->
813
+
814
+ </div>
815
+
816
+
817
+
818
+
819
+ </div><!-- namespace-method -->
820
+
821
+
822
+ <div id="method-c-render_colorized" class="method-detail ">
823
+
824
+ <div class="method-heading">
825
+ <span class="method-name">render_colorized</span><span
826
+ class="method-args">(text, length = 0)</span>
827
+ <span class="method-click-advice">click to toggle source</span>
828
+ </div>
829
+
830
+
831
+ <div class="method-description">
832
+
833
+
834
+
835
+
836
+
837
+ <div class="method-source-code" id="render_colorized-source">
838
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 696</span>
839
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">render_colorized</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">length</span> = <span class="ruby-value">0</span>)
840
+ <span class="ruby-identifier">command_size</span> = <span class="ruby-identifier">text</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/\e\[(\d+)m/</span>, <span class="ruby-string">&#39;&#39;</span>).<span class="ruby-identifier">size</span>
841
+ <span class="ruby-identifier">remaining</span> = [ <span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">command_size</span>, <span class="ruby-value">0</span> ].<span class="ruby-identifier">max</span>
842
+ <span class="ruby-identifier">text</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">sprintf</span>(<span class="ruby-node">&quot;%#{remaining}s&quot;</span>, <span class="ruby-string">&#39; &#39;</span>)
843
+ <span class="ruby-keyword">end</span></pre>
844
+ </div><!-- render_colorized-source -->
845
+
846
+ </div>
847
+
848
+
849
+
850
+
851
+ </div><!-- render_colorized-method -->
852
+
853
+
854
+ <div id="method-c-search_actions" class="method-detail ">
855
+
856
+ <div class="method-heading">
857
+ <span class="method-name">search_actions</span><span
858
+ class="method-args">(search_components)</span>
859
+ <span class="method-click-advice">click to toggle source</span>
860
+ </div>
861
+
862
+
863
+ <div class="method-description">
864
+
865
+
866
+
867
+
868
+
869
+ <div class="method-source-code" id="search_actions-source">
870
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 570</span>
871
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">search_actions</span>(<span class="ruby-identifier">search_components</span>)
872
+ <span class="ruby-identifier">action_components</span> = <span class="ruby-identifier">components</span>(<span class="ruby-identifier">search_components</span>)
873
+ <span class="ruby-identifier">action_index</span> = <span class="ruby-identifier">action_index</span>(<span class="ruby-keyword">false</span>).<span class="ruby-identifier">export</span>
874
+ <span class="ruby-identifier">actions_found</span> = []
875
+ <span class="ruby-identifier">final_components</span> = []
876
+
877
+ <span class="ruby-identifier">search_action</span> = <span class="ruby-identifier">lambda</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">components</span><span class="ruby-operator">|</span>
878
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">components</span>.<span class="ruby-identifier">empty?</span>
879
+ <span class="ruby-identifier">action_id</span> = <span class="ruby-identifier">components</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">components</span>.<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39;::&#39;</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">components</span>
880
+ <span class="ruby-identifier">action_id_pattern</span> = <span class="ruby-identifier">action_id</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&#39;::&#39;</span>, <span class="ruby-string">&#39;:.*:&#39;</span>)
881
+
882
+ <span class="ruby-identifier">action_index</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">loaded_action_id</span>, <span class="ruby-identifier">loaded_action_info</span><span class="ruby-operator">|</span>
883
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">loaded_action_id</span>.<span class="ruby-identifier">match</span>(<span class="ruby-node">/(^|\:)#{action_id_pattern.gsub(/\-/, &#39;\-&#39;)}(\:|$)/</span>)
884
+ <span class="ruby-identifier">loaded_action_info</span>[<span class="ruby-value">:action_id</span>] = <span class="ruby-identifier">loaded_action_id</span>
885
+ <span class="ruby-identifier">actions_found</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">loaded_action_info</span>
886
+ <span class="ruby-keyword">end</span>
887
+ <span class="ruby-keyword">end</span>
888
+ <span class="ruby-keyword">end</span>
889
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">components</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">components</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">actions_found</span>.<span class="ruby-identifier">empty?</span>
890
+ <span class="ruby-identifier">components</span>.<span class="ruby-identifier">pop</span>
891
+ <span class="ruby-identifier">final_components</span> = <span class="ruby-identifier">components</span>
892
+ <span class="ruby-identifier">search_action</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">components</span>)
893
+ <span class="ruby-keyword">else</span>
894
+ <span class="ruby-identifier">final_components</span> = <span class="ruby-identifier">components</span>
895
+ <span class="ruby-keyword">end</span>
896
+ <span class="ruby-keyword">end</span>
897
+
898
+ <span class="ruby-identifier">search_action</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">action_components</span>) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">action_components</span>.<span class="ruby-identifier">empty?</span>
899
+
900
+ { <span class="ruby-value">:actions</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">actions_found</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">actions_found</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">:</span> <span class="ruby-identifier">actions_found</span>,
901
+ <span class="ruby-value">:components</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">final_components</span>
902
+ }
903
+ <span class="ruby-keyword">end</span></pre>
904
+ </div><!-- search_actions-source -->
905
+
906
+ </div>
907
+
908
+
909
+
910
+
911
+ </div><!-- search_actions-method -->
912
+
913
+
914
+ </section><!-- public-class-method-details -->
915
+
916
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
917
+ <h3 class="section-header">Public Instance Methods</h3>
918
+
919
+
920
+ <div id="method-i-arguments" class="method-detail ">
921
+
922
+ <div class="method-heading">
923
+ <span class="method-name">arguments</span><span
924
+ class="method-args">()</span>
925
+ <span class="method-click-advice">click to toggle source</span>
926
+ </div>
927
+
928
+
929
+ <div class="method-description">
930
+
931
+
932
+
933
+
934
+
935
+ <div class="method-source-code" id="arguments-source">
936
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 247</span>
937
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">arguments</span>
938
+ []
939
+ <span class="ruby-keyword">end</span></pre>
940
+ </div><!-- arguments-source -->
941
+
942
+ </div>
943
+
944
+
945
+
946
+
947
+ </div><!-- arguments-method -->
948
+
949
+
950
+ <div id="method-i-cleanup" class="method-detail ">
951
+
952
+ <div class="method-heading">
953
+ <span class="method-name">cleanup</span><span
954
+ class="method-args">() { || ... }</span>
955
+ <span class="method-click-advice">click to toggle source</span>
956
+ </div>
957
+
958
+
959
+ <div class="method-description">
960
+
961
+
962
+
963
+
964
+
965
+ <div class="method-source-code" id="cleanup-source">
966
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 469</span>
967
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">cleanup</span>
968
+ <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>)
969
+
970
+ <span class="ruby-keyword">yield</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
971
+
972
+ <span class="ruby-comment"># Nothing to do right now</span>
973
+ <span class="ruby-identifier">extension</span>(<span class="ruby-value">:cleanup</span>)
974
+ <span class="ruby-keyword">end</span></pre>
975
+ </div><!-- cleanup-source -->
976
+
977
+ </div>
978
+
979
+
980
+
981
+
982
+ </div><!-- cleanup-method -->
983
+
984
+
985
+ <div id="method-i-config" class="method-detail ">
986
+
987
+ <div class="method-heading">
988
+ <span class="method-name">config</span><span
989
+ class="method-args">()</span>
990
+ <span class="method-click-advice">click to toggle source</span>
991
+ </div>
992
+
993
+
994
+ <div class="method-description">
995
+
996
+
997
+
998
+
999
+
1000
+ <div class="method-source-code" id="config-source">
1001
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 175</span>
1002
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">config</span>
1003
+ <span class="ruby-identifier">get</span>(<span class="ruby-value">:config</span>)
1004
+ <span class="ruby-keyword">end</span></pre>
1005
+ </div><!-- config-source -->
1006
+
1007
+ </div>
1008
+
1009
+
1010
+
1011
+
1012
+ </div><!-- config-method -->
1013
+
1014
+
1015
+ <div id="method-i-config_subset" class="method-detail ">
1016
+
1017
+ <div class="method-heading">
1018
+ <span class="method-name">config_subset</span><span
1019
+ class="method-args">(names)</span>
1020
+ <span class="method-click-advice">click to toggle source</span>
1021
+ </div>
1022
+
1023
+
1024
+ <div class="method-description">
1025
+
1026
+
1027
+
1028
+
1029
+
1030
+ <div class="method-source-code" id="config_subset-source">
1031
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 181</span>
1032
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">config_subset</span>(<span class="ruby-identifier">names</span>)
1033
+ <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>)
1034
+ <span class="ruby-keyword">end</span></pre>
1035
+ </div><!-- config_subset-source -->
1036
+
1037
+ </div>
1038
+
1039
+
1040
+
1041
+
1042
+ </div><!-- config_subset-method -->
1043
+
1044
+
1045
+ <div id="method-i-configure" class="method-detail ">
1046
+
1047
+ <div class="method-heading">
1048
+ <span class="method-name">configure</span><span
1049
+ class="method-args">() { |action_info| ... }</span>
1050
+ <span class="method-click-advice">click to toggle source</span>
1051
+ </div>
1052
+
1053
+
1054
+ <div class="method-description">
1055
+
1056
+
1057
+
1058
+
1059
+
1060
+ <div class="method-source-code" id="configure-source">
1061
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 253</span>
1062
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">configure</span>
1063
+ <span class="ruby-identifier">action_info</span> = <span class="ruby-identifier">index_config</span>
1064
+
1065
+ <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">action_info</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
1066
+
1067
+ <span class="ruby-identifier">group</span> = <span class="ruby-identifier">array</span>(<span class="ruby-identifier">action_info</span>[<span class="ruby-value">:description</span>][<span class="ruby-value">:group</span>])
1068
+ <span class="ruby-identifier">action</span> = <span class="ruby-identifier">cyan</span>(<span class="ruby-identifier">action_info</span>[<span class="ruby-value">:description</span>][<span class="ruby-value">:action</span>])
1069
+
1070
+ <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">group</span>.<span class="ruby-identifier">empty?</span>
1071
+ <span class="ruby-identifier">group</span> = <span class="ruby-identifier">green</span>(<span class="ruby-identifier">group</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39; &#39;</span>).<span class="ruby-identifier">strip</span>)
1072
+ <span class="ruby-identifier">usage</span> = <span class="ruby-node">&quot;#{group} #{action} &quot;</span>
1073
+ <span class="ruby-keyword">else</span>
1074
+ <span class="ruby-identifier">usage</span> = <span class="ruby-node">&quot;#{action} &quot;</span>
1075
+ <span class="ruby-keyword">end</span>
1076
+
1077
+ <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>
1078
+ <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>]
1079
+
1080
+ <span class="ruby-identifier">arg_prefix</span> = <span class="ruby-identifier">arg_config</span>.<span class="ruby-identifier">default</span> <span class="ruby-operator">?</span> <span class="ruby-string">&#39;[&#39;</span> <span class="ruby-operator">:</span> <span class="ruby-string">&#39;&#39;</span>
1081
+ <span class="ruby-identifier">arg_suffix</span> = <span class="ruby-identifier">arg_config</span>.<span class="ruby-identifier">default</span> <span class="ruby-operator">?</span> <span class="ruby-string">&#39;]&#39;</span> <span class="ruby-operator">:</span> <span class="ruby-string">&#39;&#39;</span>
1082
+
1083
+ <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>
1084
+ <span class="ruby-identifier">usage</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;#{arg_prefix}&lt;#{arg}&gt; ...#{arg_suffix}&quot;</span>
1085
+ <span class="ruby-keyword">else</span>
1086
+ <span class="ruby-identifier">usage</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;#{arg_prefix}&lt;#{arg}&gt;#{arg_suffix} &quot;</span>
1087
+ <span class="ruby-keyword">end</span>
1088
+ <span class="ruby-keyword">end</span>
1089
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">usage</span> = <span class="ruby-identifier">yellow</span>(<span class="ruby-identifier">usage</span>)
1090
+ <span class="ruby-identifier">myself</span>
1091
+ <span class="ruby-keyword">end</span></pre>
1092
+ </div><!-- configure-source -->
1093
+
1094
+ </div>
1095
+
1096
+
1097
+
1098
+
1099
+ </div><!-- configure-method -->
1100
+
1101
+
1102
+ <div id="method-i-execute" class="method-detail ">
1103
+
1104
+ <div class="method-heading">
1105
+ <span class="method-name">execute</span><span
1106
+ class="method-args">(skip_validate = false, skip_hooks = false) { || ... }</span>
1107
+ <span class="method-click-advice">click to toggle source</span>
1108
+ </div>
1109
+
1110
+
1111
+ <div class="method-description">
1112
+
1113
+
1114
+
1115
+
1116
+
1117
+ <div class="method-source-code" id="execute-source">
1118
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 425</span>
1119
+ <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>)
1120
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Executing action #{plugin_provider}&quot;</span>)
1121
+
1122
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">status</span> = <span class="ruby-identifier">code</span>.<span class="ruby-identifier">success</span>
1123
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">result</span> = <span class="ruby-keyword">nil</span>
1124
+
1125
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">processed?</span>
1126
+ <span class="ruby-keyword">begin</span>
1127
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">skip_validate</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">validate</span>
1128
+ <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>) )
1129
+ <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>
1130
+ <span class="ruby-keyword">else</span>
1131
+ <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;nucleon.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>
1132
+ <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>
1133
+ <span class="ruby-keyword">end</span>
1134
+ <span class="ruby-keyword">ensure</span>
1135
+ <span class="ruby-identifier">cleanup</span>
1136
+ <span class="ruby-keyword">end</span>
1137
+ <span class="ruby-keyword">else</span>
1138
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">options</span>[<span class="ruby-value">:help</span>]
1139
+ <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>
1140
+ <span class="ruby-keyword">else</span>
1141
+ <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>
1142
+ <span class="ruby-keyword">end</span>
1143
+ <span class="ruby-keyword">end</span>
1144
+
1145
+ <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>)
1146
+
1147
+ <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>
1148
+ <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}&quot;</span>)
1149
+ <span class="ruby-identifier">warn</span>(<span class="ruby-constant">Codes</span>.<span class="ruby-identifier">render_index</span>(<span class="ruby-identifier">status</span>), { <span class="ruby-value">:i18n</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span> })
1150
+ <span class="ruby-keyword">end</span>
1151
+
1152
+ <span class="ruby-identifier">status</span>
1153
+ <span class="ruby-keyword">end</span></pre>
1154
+ </div><!-- execute-source -->
1155
+
1156
+ </div>
1157
+
1158
+
1159
+
1160
+
1161
+ </div><!-- execute-method -->
1162
+
1163
+
1164
+ <div id="method-i-help" class="method-detail ">
1165
+
1166
+ <div class="method-heading">
1167
+ <span class="method-name">help</span><span
1168
+ class="method-args">()</span>
1169
+ <span class="method-click-advice">click to toggle source</span>
1170
+ </div>
1171
+
1172
+
1173
+ <div class="method-description">
1174
+
1175
+
1176
+
1177
+
1178
+
1179
+ <div class="method-source-code" id="help-source">
1180
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 296</span>
1181
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">help</span>
1182
+ <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>
1183
+ <span class="ruby-identifier">usage</span>
1184
+ <span class="ruby-keyword">end</span></pre>
1185
+ </div><!-- help-source -->
1186
+
1187
+ </div>
1188
+
1189
+
1190
+
1191
+
1192
+ </div><!-- help-method -->
1193
+
1194
+
1195
+ <div id="method-i-ignore" class="method-detail ">
1196
+
1197
+ <div class="method-heading">
1198
+ <span class="method-name">ignore</span><span
1199
+ class="method-args">()</span>
1200
+ <span class="method-click-advice">click to toggle source</span>
1201
+ </div>
1202
+
1203
+
1204
+ <div class="method-description">
1205
+
1206
+
1207
+
1208
+
1209
+
1210
+ <div class="method-source-code" id="ignore-source">
1211
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 239</span>
1212
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">ignore</span>
1213
+ []
1214
+ <span class="ruby-keyword">end</span></pre>
1215
+ </div><!-- ignore-source -->
1216
+
1217
+ </div>
1218
+
1219
+
1220
+
1221
+
1222
+ </div><!-- ignore-method -->
1223
+
1224
+
1225
+ <div id="method-i-index_config" class="method-detail ">
1226
+
1227
+ <div class="method-heading">
1228
+ <span class="method-name">index_config</span><span
1229
+ class="method-args">()</span>
1230
+ <span class="method-click-advice">click to toggle source</span>
1231
+ </div>
1232
+
1233
+
1234
+ <div class="method-description">
1235
+
1236
+
1237
+
1238
+
1239
+
1240
+ <div class="method-source-code" id="index_config-source">
1241
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 156</span>
1242
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">index_config</span>
1243
+ <span class="ruby-identifier">action_info</span> = <span class="ruby-keyword">nil</span>
1244
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">action_index</span>(<span class="ruby-keyword">false</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">action_id</span>, <span class="ruby-identifier">info</span><span class="ruby-operator">|</span>
1245
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">info</span>[<span class="ruby-value">:provider</span>] <span class="ruby-operator">==</span> <span class="ruby-identifier">plugin_provider</span>
1246
+ <span class="ruby-identifier">action_info</span> = <span class="ruby-identifier">info</span>
1247
+ <span class="ruby-keyword">break</span>
1248
+ <span class="ruby-keyword">end</span>
1249
+ <span class="ruby-keyword">end</span>
1250
+ <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">action_info</span>)
1251
+ <span class="ruby-keyword">end</span></pre>
1252
+ </div><!-- index_config-source -->
1253
+
1254
+ </div>
1255
+
1256
+
1257
+
1258
+
1259
+ </div><!-- index_config-method -->
1260
+
1261
+
1262
+ <div id="method-i-namespace" class="method-detail ">
1263
+
1264
+ <div class="method-heading">
1265
+ <span class="method-name">namespace</span><span
1266
+ class="method-args">()</span>
1267
+ <span class="method-click-advice">click to toggle source</span>
1268
+ </div>
1269
+
1270
+
1271
+ <div class="method-description">
1272
+
1273
+
1274
+
1275
+
1276
+
1277
+ <div class="method-source-code" id="namespace-source">
1278
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 169</span>
1279
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">namespace</span>
1280
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">namespace</span>
1281
+ <span class="ruby-keyword">end</span></pre>
1282
+ </div><!-- namespace-source -->
1283
+
1284
+ </div>
1285
+
1286
+
1287
+
1288
+
1289
+ </div><!-- namespace-method -->
1290
+
1291
+
1292
+ <div id="method-i-normalize" class="method-detail ">
1293
+
1294
+ <div class="method-heading">
1295
+ <span class="method-name">normalize</span><span
1296
+ class="method-args">(reload)</span>
1297
+ <span class="method-click-advice">click to toggle source</span>
1298
+ </div>
1299
+
1300
+
1301
+ <div class="method-description">
1302
+
1303
+
1304
+
1305
+
1306
+
1307
+ <div class="method-source-code" id="normalize-source">
1308
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 110</span>
1309
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">normalize</span>(<span class="ruby-identifier">reload</span>)
1310
+ <span class="ruby-identifier">args</span> = <span class="ruby-identifier">array</span>(<span class="ruby-identifier">delete</span>(<span class="ruby-value">:args</span>, []))
1311
+
1312
+ <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>
1313
+ <span class="ruby-identifier">options</span> = {}
1314
+ <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>
1315
+
1316
+ <span class="ruby-identifier">quiet</span> = <span class="ruby-keyword">true</span>
1317
+ <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>
1318
+
1319
+ <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>)
1320
+ <span class="ruby-keyword">end</span>
1321
+
1322
+ <span class="ruby-identifier">set</span>(<span class="ruby-value">:config</span>, <span class="ruby-constant">Config</span>.<span class="ruby-identifier">new</span>)
1323
+
1324
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">get</span>(<span class="ruby-value">:settings</span>, <span class="ruby-keyword">nil</span>)
1325
+ <span class="ruby-comment"># Internal processing</span>
1326
+ <span class="ruby-identifier">configure</span>
1327
+ <span class="ruby-identifier">set</span>(<span class="ruby-value">:processed</span>, <span class="ruby-keyword">true</span>)
1328
+ <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>)))
1329
+
1330
+ <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>)
1331
+ <span class="ruby-keyword">else</span>
1332
+ <span class="ruby-comment"># External processing</span>
1333
+ <span class="ruby-identifier">set</span>(<span class="ruby-value">:settings</span>, <span class="ruby-constant">Config</span>.<span class="ruby-identifier">new</span>)
1334
+ <span class="ruby-identifier">configure</span>
1335
+ <span class="ruby-identifier">parse_base</span>(<span class="ruby-identifier">args</span>)
1336
+ <span class="ruby-keyword">end</span>
1337
+ <span class="ruby-keyword">end</span></pre>
1338
+ </div><!-- normalize-source -->
1339
+
1340
+ </div>
1341
+
1342
+
1343
+
1344
+
1345
+ </div><!-- normalize-method -->
1346
+
1347
+
1348
+ <div id="method-i-options" class="method-detail ">
1349
+
1350
+ <div class="method-heading">
1351
+ <span class="method-name">options</span><span
1352
+ class="method-args">()</span>
1353
+ <span class="method-click-advice">click to toggle source</span>
1354
+ </div>
1355
+
1356
+
1357
+ <div class="method-description">
1358
+
1359
+
1360
+
1361
+
1362
+
1363
+ <div class="method-source-code" id="options-source">
1364
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 243</span>
1365
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">options</span>
1366
+ <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>
1367
+ <span class="ruby-keyword">end</span></pre>
1368
+ </div><!-- options-source -->
1369
+
1370
+ </div>
1371
+
1372
+
1373
+
1374
+
1375
+ </div><!-- options-method -->
1376
+
1377
+
1378
+ <div id="method-i-parse" class="method-detail ">
1379
+
1380
+ <div class="method-heading">
1381
+ <span class="method-name">parse</span><span
1382
+ class="method-args">(parser)</span>
1383
+ <span class="method-click-advice">click to toggle source</span>
1384
+ </div>
1385
+
1386
+
1387
+ <div class="method-description">
1388
+
1389
+
1390
+
1391
+
1392
+
1393
+ <div class="method-source-code" id="parse-source">
1394
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 357</span>
1395
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">parse</span>(<span class="ruby-identifier">parser</span>)
1396
+
1397
+ <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>
1398
+ <span class="ruby-identifier">formats</span> = [ <span class="ruby-value">:option</span>, <span class="ruby-value">:arg</span> ]
1399
+ <span class="ruby-identifier">types</span> = <span class="ruby-identifier">parse_types</span>
1400
+ <span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_sym</span>
1401
+
1402
+ <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>)
1403
+ <span class="ruby-identifier">option_config</span> = <span class="ruby-identifier">config</span>[<span class="ruby-identifier">name</span>]
1404
+ <span class="ruby-identifier">type</span> = <span class="ruby-identifier">option_config</span>.<span class="ruby-identifier">type</span>
1405
+ <span class="ruby-identifier">default</span> = <span class="ruby-identifier">option_config</span>.<span class="ruby-identifier">default</span>
1406
+ <span class="ruby-identifier">locale</span> = <span class="ruby-identifier">option_config</span>.<span class="ruby-identifier">locale</span>
1407
+
1408
+ <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>)
1409
+ <span class="ruby-identifier">value_label</span> = <span class="ruby-node">&quot;#{type.to_s.upcase}&quot;</span>
1410
+
1411
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value">:bool</span>
1412
+ <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>)
1413
+ <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">format</span> <span class="ruby-operator">==</span> <span class="ruby-value">:arg</span>
1414
+ <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>)
1415
+ <span class="ruby-keyword">else</span>
1416
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value">:array</span>
1417
+ <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>)
1418
+ <span class="ruby-keyword">else</span>
1419
+ <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>)
1420
+ <span class="ruby-keyword">end</span>
1421
+ <span class="ruby-keyword">end</span>
1422
+ <span class="ruby-keyword">end</span>
1423
+ <span class="ruby-keyword">end</span>
1424
+ <span class="ruby-keyword">end</span>
1425
+
1426
+ <span class="ruby-comment">#---</span>
1427
+
1428
+ <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>
1429
+ <span class="ruby-identifier">generate</span>.<span class="ruby-identifier">call</span>(<span class="ruby-value">:option</span>, <span class="ruby-identifier">name</span>)
1430
+ <span class="ruby-keyword">end</span>
1431
+
1432
+ <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>
1433
+ <span class="ruby-identifier">generate</span>.<span class="ruby-identifier">call</span>(<span class="ruby-value">:arg</span>, <span class="ruby-identifier">name</span>)
1434
+ <span class="ruby-keyword">end</span>
1435
+ <span class="ruby-keyword">end</span></pre>
1436
+ </div><!-- parse-source -->
1437
+
1438
+ </div>
1439
+
1440
+
1441
+
1442
+
1443
+ </div><!-- parse-method -->
1444
+
1445
+
1446
+ <div id="method-i-parse_base" class="method-detail ">
1447
+
1448
+ <div class="method-heading">
1449
+ <span class="method-name">parse_base</span><span
1450
+ class="method-args">(args)</span>
1451
+ <span class="method-click-advice">click to toggle source</span>
1452
+ </div>
1453
+
1454
+
1455
+ <div class="method-description">
1456
+
1457
+
1458
+
1459
+
1460
+
1461
+ <div class="method-source-code" id="parse_base-source">
1462
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 314</span>
1463
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">parse_base</span>(<span class="ruby-identifier">args</span>)
1464
+ <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>)
1465
+
1466
+ <span class="ruby-identifier">action_info</span> = <span class="ruby-identifier">index_config</span>
1467
+
1468
+ <span class="ruby-identifier">help_text</span> = <span class="ruby-string">&#39;&#39;</span>
1469
+ <span class="ruby-identifier">action_info</span>[<span class="ruby-value">:description</span>][<span class="ruby-value">:help</span>].<span class="ruby-identifier">split</span>(<span class="ruby-string">&quot;\n&quot;</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
1470
+ <span class="ruby-identifier">help_text</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-string">&#39; &#39;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">line</span> <span class="ruby-operator">+</span> <span class="ruby-string">&quot;\n&quot;</span>
1471
+ <span class="ruby-keyword">end</span>
1472
+
1473
+ <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-node">&quot;\n#{help_text}\n&quot;</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">parser</span><span class="ruby-operator">|</span>
1474
+ <span class="ruby-identifier">parser</span>.<span class="ruby-identifier">strict</span> = <span class="ruby-identifier">strict?</span>
1475
+
1476
+ <span class="ruby-identifier">parse</span>(<span class="ruby-identifier">parser</span>)
1477
+ <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> })
1478
+ <span class="ruby-keyword">end</span>
1479
+
1480
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@parser</span>
1481
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">processed</span>
1482
+ <span class="ruby-identifier">set</span>(<span class="ruby-value">:processed</span>, <span class="ruby-keyword">true</span>)
1483
+ <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">extra</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>))
1484
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-string">&quot;Parse successful&quot;</span>)
1485
+
1486
+ <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>
1487
+ <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>)
1488
+ <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-string">&quot;: &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">executable</span>.<span class="ruby-identifier">to_s</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>
1489
+
1490
+ <span class="ruby-keyword">else</span>
1491
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">options</span>[<span class="ruby-value">:help</span>]
1492
+ <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>)
1493
+ <span class="ruby-keyword">else</span>
1494
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-string">&quot;Parse failed for unknown reasons&quot;</span>)
1495
+ <span class="ruby-keyword">end</span>
1496
+ <span class="ruby-keyword">end</span>
1497
+ <span class="ruby-keyword">end</span>
1498
+ <span class="ruby-keyword">end</span></pre>
1499
+ </div><!-- parse_base-source -->
1500
+
1501
+ </div>
1502
+
1503
+
1504
+
1505
+
1506
+ </div><!-- parse_base-method -->
1507
+
1508
+
1509
+ <div id="method-i-parse_types" class="method-detail ">
1510
+
1511
+ <div class="method-heading">
1512
+ <span class="method-name">parse_types</span><span
1513
+ class="method-args">()</span>
1514
+ <span class="method-click-advice">click to toggle source</span>
1515
+ </div>
1516
+
1517
+
1518
+ <div class="method-description">
1519
+
1520
+
1521
+
1522
+
1523
+
1524
+ <div class="method-source-code" id="parse_types-source">
1525
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 353</span>
1526
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">parse_types</span>
1527
+ [ <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> ]
1528
+ <span class="ruby-keyword">end</span></pre>
1529
+ </div><!-- parse_types-source -->
1530
+
1531
+ </div>
1532
+
1533
+
1534
+
1535
+
1536
+ </div><!-- parse_types-method -->
1537
+
1538
+
1539
+ <div id="method-i-processed-3F" class="method-detail ">
1540
+
1541
+ <div class="method-heading">
1542
+ <span class="method-name">processed?</span><span
1543
+ class="method-args">()</span>
1544
+ <span class="method-click-advice">click to toggle source</span>
1545
+ </div>
1546
+
1547
+
1548
+ <div class="method-description">
1549
+
1550
+
1551
+
1552
+
1553
+
1554
+ <div class="method-source-code" id="processed-3F-source">
1555
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 149</span>
1556
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">processed?</span>
1557
+ <span class="ruby-identifier">get</span>(<span class="ruby-value">:processed</span>, <span class="ruby-keyword">false</span>)
1558
+ <span class="ruby-keyword">end</span></pre>
1559
+ </div><!-- processed-3F-source -->
1560
+
1561
+ </div>
1562
+
1563
+
1564
+
1565
+
1566
+ </div><!-- processed-3F-method -->
1567
+
1568
+
1569
+ <div id="method-i-register" class="method-detail ">
1570
+
1571
+ <div class="method-heading">
1572
+ <span class="method-name">register</span><span
1573
+ class="method-args">(name, type, default = nil, locale = nil, &code)</span>
1574
+ <span class="method-click-advice">click to toggle source</span>
1575
+ </div>
1576
+
1577
+
1578
+ <div class="method-description">
1579
+
1580
+
1581
+
1582
+
1583
+
1584
+ <div class="method-source-code" id="register-source">
1585
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 193</span>
1586
+ <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-keyword">nil</span>, <span class="ruby-identifier">locale</span> = <span class="ruby-keyword">nil</span>, &amp;<span class="ruby-identifier">code</span>)
1587
+ <span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_sym</span>
1588
+
1589
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">code</span>
1590
+ <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>
1591
+ <span class="ruby-identifier">code</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">value</span>, <span class="ruby-identifier">success</span>)
1592
+ <span class="ruby-keyword">end</span>
1593
+ <span class="ruby-keyword">else</span>
1594
+ <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>)
1595
+ <span class="ruby-keyword">end</span>
1596
+
1597
+ <span class="ruby-identifier">config</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">option</span>
1598
+ <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>
1599
+ <span class="ruby-keyword">end</span></pre>
1600
+ </div><!-- register-source -->
1601
+
1602
+ </div>
1603
+
1604
+
1605
+
1606
+
1607
+ </div><!-- register-method -->
1608
+
1609
+
1610
+ <div id="method-i-register_array" class="method-detail ">
1611
+
1612
+ <div class="method-heading">
1613
+ <span class="method-name">register_array</span><span
1614
+ class="method-args">(name, default = [], locale = nil, &code)</span>
1615
+ <span class="method-click-advice">click to toggle source</span>
1616
+ </div>
1617
+
1618
+
1619
+ <div class="method-description">
1620
+
1621
+
1622
+
1623
+
1624
+
1625
+ <div class="method-source-code" id="register_array-source">
1626
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 226</span>
1627
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">register_array</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">default</span> = [], <span class="ruby-identifier">locale</span> = <span class="ruby-keyword">nil</span>, &amp;<span class="ruby-identifier">code</span>)
1628
+ <span class="ruby-identifier">register</span>(<span class="ruby-identifier">name</span>, <span class="ruby-value">:array</span>, <span class="ruby-identifier">default</span>, <span class="ruby-identifier">locale</span>, &amp;<span class="ruby-identifier">code</span>)
1629
+ <span class="ruby-keyword">end</span></pre>
1630
+ </div><!-- register_array-source -->
1631
+
1632
+ </div>
1633
+
1634
+
1635
+
1636
+
1637
+ </div><!-- register_array-method -->
1638
+
1639
+
1640
+ <div id="method-i-register_bool" class="method-detail ">
1641
+
1642
+ <div class="method-heading">
1643
+ <span class="method-name">register_bool</span><span
1644
+ class="method-args">(name, default = false, locale = nil, &code)</span>
1645
+ <span class="method-click-advice">click to toggle source</span>
1646
+ </div>
1647
+
1648
+
1649
+ <div class="method-description">
1650
+
1651
+
1652
+
1653
+
1654
+
1655
+ <div class="method-source-code" id="register_bool-source">
1656
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 210</span>
1657
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">register_bool</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">default</span> = <span class="ruby-keyword">false</span>, <span class="ruby-identifier">locale</span> = <span class="ruby-keyword">nil</span>, &amp;<span class="ruby-identifier">code</span>)
1658
+ <span class="ruby-identifier">register</span>(<span class="ruby-identifier">name</span>, <span class="ruby-value">:bool</span>, <span class="ruby-identifier">default</span>, <span class="ruby-identifier">locale</span>, &amp;<span class="ruby-identifier">code</span>)
1659
+ <span class="ruby-keyword">end</span></pre>
1660
+ </div><!-- register_bool-source -->
1661
+
1662
+ </div>
1663
+
1664
+
1665
+
1666
+
1667
+ </div><!-- register_bool-method -->
1668
+
1669
+
1670
+ <div id="method-i-register_float" class="method-detail ">
1671
+
1672
+ <div class="method-heading">
1673
+ <span class="method-name">register_float</span><span
1674
+ class="method-args">(name, default = nil, locale = nil, &code)</span>
1675
+ <span class="method-click-advice">click to toggle source</span>
1676
+ </div>
1677
+
1678
+
1679
+ <div class="method-description">
1680
+
1681
+
1682
+
1683
+
1684
+
1685
+ <div class="method-source-code" id="register_float-source">
1686
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 218</span>
1687
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">register_float</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">default</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">locale</span> = <span class="ruby-keyword">nil</span>, &amp;<span class="ruby-identifier">code</span>)
1688
+ <span class="ruby-identifier">register</span>(<span class="ruby-identifier">name</span>, <span class="ruby-value">:float</span>, <span class="ruby-identifier">default</span>, <span class="ruby-identifier">locale</span>, &amp;<span class="ruby-identifier">code</span>)
1689
+ <span class="ruby-keyword">end</span></pre>
1690
+ </div><!-- register_float-source -->
1691
+
1692
+ </div>
1693
+
1694
+
1695
+
1696
+
1697
+ </div><!-- register_float-method -->
1698
+
1699
+
1700
+ <div id="method-i-register_int" class="method-detail ">
1701
+
1702
+ <div class="method-heading">
1703
+ <span class="method-name">register_int</span><span
1704
+ class="method-args">(name, default = nil, locale = nil, &code)</span>
1705
+ <span class="method-click-advice">click to toggle source</span>
1706
+ </div>
1707
+
1708
+
1709
+ <div class="method-description">
1710
+
1711
+
1712
+
1713
+
1714
+
1715
+ <div class="method-source-code" id="register_int-source">
1716
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 214</span>
1717
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">register_int</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">default</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">locale</span> = <span class="ruby-keyword">nil</span>, &amp;<span class="ruby-identifier">code</span>)
1718
+ <span class="ruby-identifier">register</span>(<span class="ruby-identifier">name</span>, <span class="ruby-value">:int</span>, <span class="ruby-identifier">default</span>, <span class="ruby-identifier">locale</span>, &amp;<span class="ruby-identifier">code</span>)
1719
+ <span class="ruby-keyword">end</span></pre>
1720
+ </div><!-- register_int-source -->
1721
+
1722
+ </div>
1723
+
1724
+
1725
+
1726
+
1727
+ </div><!-- register_int-method -->
1728
+
1729
+
1730
+ <div id="method-i-register_str" class="method-detail ">
1731
+
1732
+ <div class="method-heading">
1733
+ <span class="method-name">register_str</span><span
1734
+ class="method-args">(name, default = '', locale = nil, &code)</span>
1735
+ <span class="method-click-advice">click to toggle source</span>
1736
+ </div>
1737
+
1738
+
1739
+ <div class="method-description">
1740
+
1741
+
1742
+
1743
+
1744
+
1745
+ <div class="method-source-code" id="register_str-source">
1746
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 222</span>
1747
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">register_str</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">default</span> = <span class="ruby-string">&#39;&#39;</span>, <span class="ruby-identifier">locale</span> = <span class="ruby-keyword">nil</span>, &amp;<span class="ruby-identifier">code</span>)
1748
+ <span class="ruby-identifier">register</span>(<span class="ruby-identifier">name</span>, <span class="ruby-value">:str</span>, <span class="ruby-identifier">default</span>, <span class="ruby-identifier">locale</span>, &amp;<span class="ruby-identifier">code</span>)
1749
+ <span class="ruby-keyword">end</span></pre>
1750
+ </div><!-- register_str-source -->
1751
+
1752
+ </div>
1753
+
1754
+
1755
+
1756
+
1757
+ </div><!-- register_str-method -->
1758
+
1759
+
1760
+ <div id="method-i-remove" class="method-detail ">
1761
+
1762
+ <div class="method-heading">
1763
+ <span class="method-name">remove</span><span
1764
+ class="method-args">(names)</span>
1765
+ <span class="method-click-advice">click to toggle source</span>
1766
+ </div>
1767
+
1768
+
1769
+ <div class="method-description">
1770
+
1771
+
1772
+
1773
+
1774
+
1775
+ <div class="method-source-code" id="remove-source">
1776
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 232</span>
1777
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">remove</span>(<span class="ruby-identifier">names</span>)
1778
+ <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>)
1779
+ <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>)
1780
+ <span class="ruby-keyword">end</span></pre>
1781
+ </div><!-- remove-source -->
1782
+
1783
+ </div>
1784
+
1785
+
1786
+
1787
+
1788
+ </div><!-- remove-method -->
1789
+
1790
+
1791
+ <div id="method-i-render_options" class="method-detail ">
1792
+
1793
+ <div class="method-heading">
1794
+ <span class="method-name">render_options</span><span
1795
+ class="method-args">()</span>
1796
+ <span class="method-click-advice">click to toggle source</span>
1797
+ </div>
1798
+
1799
+
1800
+ <div class="method-description">
1801
+
1802
+
1803
+
1804
+
1805
+
1806
+ <div class="method-source-code" id="render_options-source">
1807
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 481</span>
1808
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">render_options</span>
1809
+ <span class="ruby-identifier">settings</span>
1810
+ <span class="ruby-keyword">end</span></pre>
1811
+ </div><!-- render_options-source -->
1812
+
1813
+ </div>
1814
+
1815
+
1816
+
1817
+
1818
+ </div><!-- render_options-method -->
1819
+
1820
+
1821
+ <div id="method-i-result" class="method-detail ">
1822
+
1823
+ <div class="method-heading">
1824
+ <span class="method-name">result</span><span
1825
+ class="method-args">()</span>
1826
+ <span class="method-click-advice">click to toggle source</span>
1827
+ </div>
1828
+
1829
+
1830
+ <div class="method-description">
1831
+
1832
+
1833
+
1834
+
1835
+
1836
+ <div class="method-source-code" id="result-source">
1837
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 307</span>
1838
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">result</span>
1839
+ <span class="ruby-identifier">get</span>(<span class="ruby-value">:result</span>, <span class="ruby-keyword">nil</span>)
1840
+ <span class="ruby-keyword">end</span></pre>
1841
+ </div><!-- result-source -->
1842
+
1843
+ </div>
1844
+
1845
+
1846
+
1847
+
1848
+ </div><!-- result-method -->
1849
+
1850
+
1851
+ <div id="method-i-result-3D" class="method-detail ">
1852
+
1853
+ <div class="method-heading">
1854
+ <span class="method-name">result=</span><span
1855
+ class="method-args">(result)</span>
1856
+ <span class="method-click-advice">click to toggle source</span>
1857
+ </div>
1858
+
1859
+
1860
+ <div class="method-description">
1861
+
1862
+
1863
+
1864
+
1865
+
1866
+ <div class="method-source-code" id="result-3D-source">
1867
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 303</span>
1868
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">result=</span><span class="ruby-identifier">result</span>
1869
+ <span class="ruby-identifier">set</span>(<span class="ruby-value">:result</span>, <span class="ruby-identifier">result</span>)
1870
+ <span class="ruby-keyword">end</span></pre>
1871
+ </div><!-- result-3D-source -->
1872
+
1873
+ </div>
1874
+
1875
+
1876
+
1877
+
1878
+ </div><!-- result-3D-method -->
1879
+
1880
+
1881
+ <div id="method-i-run" class="method-detail ">
1882
+
1883
+ <div class="method-heading">
1884
+ <span class="method-name">run</span><span
1885
+ class="method-args">()</span>
1886
+ <span class="method-click-advice">click to toggle source</span>
1887
+ </div>
1888
+
1889
+
1890
+ <div class="method-description">
1891
+
1892
+
1893
+
1894
+
1895
+
1896
+ <div class="method-source-code" id="run-source">
1897
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 463</span>
1898
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">run</span>
1899
+ <span class="ruby-ivar">@action_interface</span>
1900
+ <span class="ruby-keyword">end</span></pre>
1901
+ </div><!-- run-source -->
1902
+
1903
+ </div>
1904
+
1905
+
1906
+
1907
+
1908
+ </div><!-- run-method -->
1909
+
1910
+
1911
+ <div id="method-i-settings" class="method-detail ">
1912
+
1913
+ <div class="method-heading">
1914
+ <span class="method-name">settings</span><span
1915
+ class="method-args">()</span>
1916
+ <span class="method-click-advice">click to toggle source</span>
1917
+ </div>
1918
+
1919
+
1920
+ <div class="method-description">
1921
+
1922
+
1923
+
1924
+
1925
+
1926
+ <div class="method-source-code" id="settings-source">
1927
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 187</span>
1928
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">settings</span>
1929
+ <span class="ruby-identifier">get</span>(<span class="ruby-value">:settings</span>)
1930
+ <span class="ruby-keyword">end</span></pre>
1931
+ </div><!-- settings-source -->
1932
+
1933
+ </div>
1934
+
1935
+
1936
+
1937
+
1938
+ </div><!-- settings-method -->
1939
+
1940
+
1941
+ <div id="method-i-strict-3F" class="method-detail ">
1942
+
1943
+ <div class="method-heading">
1944
+ <span class="method-name">strict?</span><span
1945
+ class="method-args">()</span>
1946
+ <span class="method-click-advice">click to toggle source</span>
1947
+ </div>
1948
+
1949
+
1950
+ <div class="method-description">
1951
+
1952
+
1953
+
1954
+
1955
+
1956
+ <div class="method-source-code" id="strict-3F-source">
1957
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 143</span>
1958
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">strict?</span>
1959
+ <span class="ruby-keyword">true</span> <span class="ruby-comment"># Override in providers if needed (allow extra options if false)</span>
1960
+ <span class="ruby-keyword">end</span></pre>
1961
+ </div><!-- strict-3F-source -->
1962
+
1963
+ </div>
1964
+
1965
+
1966
+
1967
+
1968
+ </div><!-- strict-3F-method -->
1969
+
1970
+
1971
+ <div id="method-i-usage" class="method-detail ">
1972
+
1973
+ <div class="method-heading">
1974
+ <span class="method-name">usage</span><span
1975
+ class="method-args">()</span>
1976
+ <span class="method-click-advice">click to toggle source</span>
1977
+ </div>
1978
+
1979
+
1980
+ <div class="method-description">
1981
+
1982
+
1983
+
1984
+
1985
+
1986
+ <div class="method-source-code" id="usage-source">
1987
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 290</span>
1988
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">usage</span>
1989
+ <span class="ruby-identifier">get</span>(<span class="ruby-value">:usage</span>, <span class="ruby-string">&#39;&#39;</span>)
1990
+ <span class="ruby-keyword">end</span></pre>
1991
+ </div><!-- usage-source -->
1992
+
1993
+ </div>
1994
+
1995
+
1996
+
1997
+
1998
+ </div><!-- usage-method -->
1999
+
2000
+
2001
+ <div id="method-i-usage-3D" class="method-detail ">
2002
+
2003
+ <div class="method-heading">
2004
+ <span class="method-name">usage=</span><span
2005
+ class="method-args">(usage)</span>
2006
+ <span class="method-click-advice">click to toggle source</span>
2007
+ </div>
2008
+
2009
+
2010
+ <div class="method-description">
2011
+
2012
+
2013
+
2014
+
2015
+
2016
+ <div class="method-source-code" id="usage-3D-source">
2017
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 286</span>
2018
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">usage=</span><span class="ruby-identifier">usage</span>
2019
+ <span class="ruby-identifier">set</span>(<span class="ruby-value">:usage</span>, <span class="ruby-identifier">usage</span>)
2020
+ <span class="ruby-keyword">end</span></pre>
2021
+ </div><!-- usage-3D-source -->
2022
+
2023
+ </div>
2024
+
2025
+
2026
+
2027
+
2028
+ </div><!-- usage-3D-method -->
2029
+
2030
+
2031
+ <div id="method-i-validate" class="method-detail ">
2032
+
2033
+ <div class="method-heading">
2034
+ <span class="method-name">validate</span><span
2035
+ class="method-args">(*args)</span>
2036
+ <span class="method-click-advice">click to toggle source</span>
2037
+ </div>
2038
+
2039
+
2040
+ <div class="method-description">
2041
+
2042
+
2043
+
2044
+
2045
+
2046
+ <div class="method-source-code" id="validate-source">
2047
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 401</span>
2048
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">validate</span>(*<span class="ruby-identifier">args</span>)
2049
+ <span class="ruby-comment"># TODO: Add extension hooks and logging</span>
2050
+
2051
+ <span class="ruby-comment"># Validate all of the configurations</span>
2052
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">true</span>
2053
+ <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>
2054
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">ignore</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">name</span>)
2055
+ <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>)
2056
+ <span class="ruby-keyword">end</span>
2057
+ <span class="ruby-keyword">end</span>
2058
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
2059
+ <span class="ruby-comment"># Check for missing arguments (in case of internal execution mode)</span>
2060
+ <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>
2061
+ <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>
2062
+ <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> })
2063
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">false</span>
2064
+ <span class="ruby-keyword">end</span>
2065
+ <span class="ruby-keyword">end</span>
2066
+ <span class="ruby-keyword">end</span>
2067
+ <span class="ruby-identifier">success</span>
2068
+ <span class="ruby-keyword">end</span></pre>
2069
+ </div><!-- validate-source -->
2070
+
2071
+ </div>
2072
+
2073
+
2074
+
2075
+
2076
+ </div><!-- validate-method -->
2077
+
2078
+
2079
+ <div id="method-i-validate_plugins" class="method-detail ">
2080
+
2081
+ <div class="method-heading">
2082
+ <span class="method-name">validate_plugins</span><span
2083
+ class="method-args">(namespace, type, name, values)</span>
2084
+ <span class="method-click-advice">click to toggle source</span>
2085
+ </div>
2086
+
2087
+
2088
+ <div class="method-description">
2089
+
2090
+
2091
+
2092
+
2093
+
2094
+ <div class="method-source-code" id="validate_plugins-source">
2095
+ <pre><span class="ruby-comment"># File lib/core/plugin/action.rb, line 488</span>
2096
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">validate_plugins</span>(<span class="ruby-identifier">namespace</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">values</span>)
2097
+ <span class="ruby-identifier">plugin_class</span> = <span class="ruby-constant">Nucleon</span>.<span class="ruby-identifier">plugin_class</span>(<span class="ruby-identifier">namespace</span>, <span class="ruby-identifier">type</span>)
2098
+ <span class="ruby-identifier">loaded_plugins</span> = <span class="ruby-constant">Nucleon</span>.<span class="ruby-identifier">loaded_plugins</span>(<span class="ruby-identifier">namespace</span>, <span class="ruby-identifier">type</span>)
2099
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">true</span>
2100
+
2101
+ <span class="ruby-identifier">array</span>(<span class="ruby-identifier">values</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
2102
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">info</span> = <span class="ruby-identifier">plugin_class</span>.<span class="ruby-identifier">translate_reference</span>(<span class="ruby-identifier">value</span>)
2103
+ <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">loaded_plugins</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">info</span>[<span class="ruby-value">:provider</span>].<span class="ruby-identifier">to_sym</span>)
2104
+ <span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;corl.action.#{plugin_name.to_s.gsub(&#39;_&#39;, &#39;.&#39;)}.errors.#{name}&quot;</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-identifier">info</span>, { <span class="ruby-value">:value</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">value</span> } ]))
2105
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">false</span>
2106
+ <span class="ruby-keyword">end</span>
2107
+ <span class="ruby-keyword">end</span>
2108
+ <span class="ruby-keyword">end</span>
2109
+ <span class="ruby-identifier">success</span>
2110
+ <span class="ruby-keyword">end</span></pre>
2111
+ </div><!-- validate_plugins-source -->
2112
+
2113
+ </div>
2114
+
2115
+
2116
+
2117
+
2118
+ </div><!-- validate_plugins-method -->
2119
+
2120
+
2121
+ </section><!-- public-instance-method-details -->
2122
+
2123
+ </section><!-- 5Buntitled-5D -->
2124
+
2125
+ </div><!-- documentation -->
2126
+
2127
+
2128
+ <footer id="validator-badges">
2129
+ <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
2130
+ <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.2.
2131
+ <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
2132
+ </footer>
2133
+