nucleon 0.1.19 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +1 -0
  4. data/TODO.rdoc +0 -3
  5. data/VERSION +1 -1
  6. data/bin/nucleon +19 -0
  7. data/lib/core/config.rb +11 -7
  8. data/lib/core/environment.rb +338 -0
  9. data/lib/core/facade.rb +150 -98
  10. data/lib/core/manager.rb +160 -249
  11. data/lib/core/mixin/action/project.rb +2 -2
  12. data/lib/core/mixin/macro/plugin_interface.rb +11 -11
  13. data/lib/core/plugin/action.rb +277 -24
  14. data/lib/core/plugin/base.rb +22 -14
  15. data/lib/core/plugin/command.rb +1 -1
  16. data/lib/core/plugin/event.rb +3 -3
  17. data/lib/core/plugin/extension.rb +1 -1
  18. data/lib/core/plugin/project.rb +15 -15
  19. data/lib/core/plugin/template.rb +1 -1
  20. data/lib/core/plugin/translator.rb +1 -1
  21. data/lib/core/util/cache.rb +1 -1
  22. data/lib/core/util/cli.rb +32 -3
  23. data/lib/core/util/console.rb +30 -10
  24. data/lib/core/util/data.rb +11 -3
  25. data/lib/core/util/logger.rb +1 -1
  26. data/lib/core/util/shell.rb +6 -3
  27. data/lib/core/util/ssh.rb +148 -24
  28. data/lib/nucleon/action/extract.rb +11 -4
  29. data/lib/nucleon/action/{add.rb → project/add.rb} +13 -4
  30. data/lib/nucleon/action/{create.rb → project/create.rb} +12 -3
  31. data/lib/nucleon/action/{remove.rb → project/remove.rb} +11 -2
  32. data/lib/nucleon/action/{save.rb → project/save.rb} +11 -2
  33. data/lib/nucleon/action/{update.rb → project/update.rb} +11 -2
  34. data/lib/nucleon/command/bash.rb +1 -1
  35. data/lib/nucleon/event/regex.rb +1 -1
  36. data/lib/nucleon/project/git.rb +3 -3
  37. data/lib/nucleon/template/{json.rb → JSON.rb} +1 -1
  38. data/lib/nucleon/template/{yaml.rb → YAML.rb} +1 -1
  39. data/lib/nucleon/template/wrapper.rb +1 -1
  40. data/lib/nucleon/translator/{json.rb → JSON.rb} +1 -1
  41. data/lib/nucleon/translator/{yaml.rb → YAML.rb} +1 -1
  42. data/lib/nucleon_base.rb +26 -15
  43. data/locales/en.yml +69 -44
  44. data/nucleon.gemspec +129 -11
  45. data/rdoc/site/0.1.19/ARCHITECTURE_rdoc.html +634 -0
  46. data/rdoc/site/0.1.19/Hash.html +347 -0
  47. data/rdoc/site/0.1.19/Kernel.html +413 -0
  48. data/rdoc/site/0.1.19/Nucleon.html +570 -0
  49. data/rdoc/site/0.1.19/Nucleon/Action.html +280 -0
  50. data/rdoc/site/0.1.19/Nucleon/Action/Add.html +458 -0
  51. data/rdoc/site/0.1.19/Nucleon/Action/Create.html +415 -0
  52. data/rdoc/site/0.1.19/Nucleon/Action/Extract.html +413 -0
  53. data/rdoc/site/0.1.19/Nucleon/Action/Remove.html +461 -0
  54. data/rdoc/site/0.1.19/Nucleon/Action/Save.html +434 -0
  55. data/rdoc/site/0.1.19/Nucleon/Action/Update.html +381 -0
  56. data/rdoc/site/0.1.19/Nucleon/Codes.html +563 -0
  57. data/rdoc/site/0.1.19/Nucleon/Command.html +275 -0
  58. data/rdoc/site/0.1.19/Nucleon/Command/Bash.html +544 -0
  59. data/rdoc/site/0.1.19/Nucleon/Config.html +1623 -0
  60. data/rdoc/site/0.1.19/Nucleon/Config/Collection.html +509 -0
  61. data/rdoc/site/0.1.19/Nucleon/Config/Options.html +489 -0
  62. data/rdoc/site/0.1.19/Nucleon/Core.html +635 -0
  63. data/rdoc/site/0.1.19/Nucleon/Errors.html +275 -0
  64. data/rdoc/site/0.1.19/Nucleon/Errors/BatchError.html +281 -0
  65. data/rdoc/site/0.1.19/Nucleon/Errors/NucleonError.html +657 -0
  66. data/rdoc/site/0.1.19/Nucleon/Errors/SSHUnavailable.html +281 -0
  67. data/rdoc/site/0.1.19/Nucleon/Event.html +275 -0
  68. data/rdoc/site/0.1.19/Nucleon/Event/Regex.html +467 -0
  69. data/rdoc/site/0.1.19/Nucleon/Facade.html +2336 -0
  70. data/rdoc/site/0.1.19/Nucleon/Gems.html +635 -0
  71. data/rdoc/site/0.1.19/Nucleon/Manager.html +1828 -0
  72. data/rdoc/site/0.1.19/Nucleon/Mixin.html +284 -0
  73. data/rdoc/site/0.1.19/Nucleon/Mixin/Action.html +277 -0
  74. data/rdoc/site/0.1.19/Nucleon/Mixin/Action/Commit.html +381 -0
  75. data/rdoc/site/0.1.19/Nucleon/Mixin/Action/Project.html +395 -0
  76. data/rdoc/site/0.1.19/Nucleon/Mixin/Action/Push.html +371 -0
  77. data/rdoc/site/0.1.19/Nucleon/Mixin/Colors.html +545 -0
  78. data/rdoc/site/0.1.19/Nucleon/Mixin/ConfigCollection.html +481 -0
  79. data/rdoc/site/0.1.19/Nucleon/Mixin/ConfigOptions.html +449 -0
  80. data/rdoc/site/0.1.19/Nucleon/Mixin/Macro.html +276 -0
  81. data/rdoc/site/0.1.19/Nucleon/Mixin/Macro/ObjectInterface.html +695 -0
  82. data/rdoc/site/0.1.19/Nucleon/Mixin/Macro/PluginInterface.html +682 -0
  83. data/rdoc/site/0.1.19/Nucleon/Mixin/Settings.html +481 -0
  84. data/rdoc/site/0.1.19/Nucleon/Mixin/SubConfig.html +887 -0
  85. data/rdoc/site/0.1.19/Nucleon/Parallel.html +325 -0
  86. data/rdoc/site/0.1.19/Nucleon/Parallel/ClassMethods.html +325 -0
  87. data/rdoc/site/0.1.19/Nucleon/Parallel/InstanceMethods.html +334 -0
  88. data/rdoc/site/0.1.19/Nucleon/Plugin.html +282 -0
  89. data/rdoc/site/0.1.19/Nucleon/Plugin/Action.html +1368 -0
  90. data/rdoc/site/0.1.19/Nucleon/Plugin/Action/Option.html +459 -0
  91. data/rdoc/site/0.1.19/Nucleon/Plugin/Base.html +1737 -0
  92. data/rdoc/site/0.1.19/Nucleon/Plugin/Command.html +721 -0
  93. data/rdoc/site/0.1.19/Nucleon/Plugin/Event.html +442 -0
  94. data/rdoc/site/0.1.19/Nucleon/Plugin/Extension.html +281 -0
  95. data/rdoc/site/0.1.19/Nucleon/Plugin/Project.html +2864 -0
  96. data/rdoc/site/0.1.19/Nucleon/Plugin/Template.html +476 -0
  97. data/rdoc/site/0.1.19/Nucleon/Plugin/Translator.html +371 -0
  98. data/rdoc/site/0.1.19/Nucleon/Project.html +276 -0
  99. data/rdoc/site/0.1.19/Nucleon/Project/Git.html +1801 -0
  100. data/rdoc/site/0.1.19/Nucleon/Project/Github.html +549 -0
  101. data/rdoc/site/0.1.19/Nucleon/Template.html +277 -0
  102. data/rdoc/site/0.1.19/Nucleon/Template/Json.html +329 -0
  103. data/rdoc/site/0.1.19/Nucleon/Template/Wrapper.html +329 -0
  104. data/rdoc/site/0.1.19/Nucleon/Template/Yaml.html +329 -0
  105. data/rdoc/site/0.1.19/Nucleon/Translator.html +276 -0
  106. data/rdoc/site/0.1.19/Nucleon/Translator/Json.html +366 -0
  107. data/rdoc/site/0.1.19/Nucleon/Translator/Yaml.html +366 -0
  108. data/rdoc/site/0.1.19/Nucleon/Util.html +285 -0
  109. data/rdoc/site/0.1.19/Nucleon/Util/CLI.html +388 -0
  110. data/rdoc/site/0.1.19/Nucleon/Util/CLI/Parser.html +1183 -0
  111. data/rdoc/site/0.1.19/Nucleon/Util/Cache.html +780 -0
  112. data/rdoc/site/0.1.19/Nucleon/Util/Console.html +1294 -0
  113. data/rdoc/site/0.1.19/Nucleon/Util/Data.html +1399 -0
  114. data/rdoc/site/0.1.19/Nucleon/Util/Disk.html +522 -0
  115. data/rdoc/site/0.1.19/Nucleon/Util/Git.html +361 -0
  116. data/rdoc/site/0.1.19/Nucleon/Util/Liquid.html +365 -0
  117. data/rdoc/site/0.1.19/Nucleon/Util/Logger.html +806 -0
  118. data/rdoc/site/0.1.19/Nucleon/Util/Package.html +558 -0
  119. data/rdoc/site/0.1.19/Nucleon/Util/SSH.html +910 -0
  120. data/rdoc/site/0.1.19/Nucleon/Util/SSH/Keypair.html +453 -0
  121. data/rdoc/site/0.1.19/Nucleon/Util/Shell.html +686 -0
  122. data/rdoc/site/0.1.19/Nucleon/Util/Shell/Result.html +497 -0
  123. data/rdoc/site/0.1.19/README_rdoc.html +312 -0
  124. data/rdoc/site/0.1.19/TODO_rdoc.html +267 -0
  125. data/rdoc/site/0.1.19/created.rid +60 -0
  126. data/rdoc/site/0.1.19/images/add.png +0 -0
  127. data/rdoc/site/0.1.19/images/brick.png +0 -0
  128. data/rdoc/site/0.1.19/images/brick_link.png +0 -0
  129. data/rdoc/site/0.1.19/images/bug.png +0 -0
  130. data/rdoc/site/0.1.19/images/bullet_black.png +0 -0
  131. data/rdoc/site/0.1.19/images/bullet_toggle_minus.png +0 -0
  132. data/rdoc/site/0.1.19/images/bullet_toggle_plus.png +0 -0
  133. data/rdoc/site/0.1.19/images/date.png +0 -0
  134. data/rdoc/site/0.1.19/images/delete.png +0 -0
  135. data/rdoc/site/0.1.19/images/find.png +0 -0
  136. data/rdoc/site/0.1.19/images/loadingAnimation.gif +0 -0
  137. data/rdoc/site/0.1.19/images/macFFBgHack.png +0 -0
  138. data/rdoc/site/0.1.19/images/package.png +0 -0
  139. data/rdoc/site/0.1.19/images/page_green.png +0 -0
  140. data/rdoc/site/0.1.19/images/page_white_text.png +0 -0
  141. data/rdoc/site/0.1.19/images/page_white_width.png +0 -0
  142. data/rdoc/site/0.1.19/images/plugin.png +0 -0
  143. data/rdoc/site/0.1.19/images/ruby.png +0 -0
  144. data/rdoc/site/0.1.19/images/tag_blue.png +0 -0
  145. data/rdoc/site/0.1.19/images/tag_green.png +0 -0
  146. data/rdoc/site/0.1.19/images/transparent.png +0 -0
  147. data/rdoc/site/0.1.19/images/wrench.png +0 -0
  148. data/rdoc/site/0.1.19/images/wrench_orange.png +0 -0
  149. data/rdoc/site/0.1.19/images/zoom.png +0 -0
  150. data/rdoc/site/0.1.19/index.html +311 -0
  151. data/rdoc/site/0.1.19/js/darkfish.js +155 -0
  152. data/rdoc/site/0.1.19/js/jquery.js +18 -0
  153. data/rdoc/site/0.1.19/js/navigation.js +142 -0
  154. data/rdoc/site/0.1.19/js/search.js +94 -0
  155. data/rdoc/site/0.1.19/js/search_index.js +1 -0
  156. data/rdoc/site/0.1.19/js/searcher.js +228 -0
  157. data/rdoc/site/0.1.19/rdoc.css +543 -0
  158. data/rdoc/site/0.1.19/table_of_contents.html +1541 -0
  159. metadata +140 -11
@@ -1,9 +1,17 @@
1
1
 
2
2
  module Nucleon
3
3
  module Action
4
- class Update < Nucleon.plugin_class(:action)
4
+ module Project
5
+ class Update < Nucleon.plugin_class(:nucleon, :action)
5
6
 
6
7
  include Mixin::Action::Project
8
+
9
+ #-----------------------------------------------------------------------------
10
+ # Info
11
+
12
+ def self.describe
13
+ super(:project, :update, 900)
14
+ end
7
15
 
8
16
  #-----------------------------------------------------------------------------
9
17
  # Settings
@@ -22,7 +30,7 @@ class Update < Nucleon.plugin_class(:action)
22
30
 
23
31
  def execute
24
32
  super do
25
- info('nucleon.actions.update.start')
33
+ info('nucleon.action.project.update.start')
26
34
 
27
35
  project = project_load(settings[:path], false, true)
28
36
  myself.status = code.project_failure unless project
@@ -31,3 +39,4 @@ class Update < Nucleon.plugin_class(:action)
31
39
  end
32
40
  end
33
41
  end
42
+ end
@@ -1,7 +1,7 @@
1
1
 
2
2
  module Nucleon
3
3
  module Command
4
- class Bash < Plugin::Command
4
+ class Bash < Nucleon.plugin_class(:nucleon, :command)
5
5
 
6
6
  #-----------------------------------------------------------------------------
7
7
  # Command plugin interface
@@ -1,7 +1,7 @@
1
1
 
2
2
  module Nucleon
3
3
  module Event
4
- class Regex < Plugin::Event
4
+ class Regex < Nucleon.plugin_class(:nucleon, :event)
5
5
 
6
6
  #-----------------------------------------------------------------------------
7
7
  # Regular expression event interface
@@ -1,7 +1,7 @@
1
1
 
2
2
  module Nucleon
3
3
  module Project
4
- class Git < Plugin::Project
4
+ class Git < Nucleon.plugin_class(:nucleon, :project)
5
5
 
6
6
  #-----------------------------------------------------------------------------
7
7
  # Project plugin interface
@@ -399,7 +399,7 @@ class Git < Plugin::Project
399
399
 
400
400
  #---
401
401
 
402
- def syncronize(cloud, options = {})
402
+ def synchronize(cloud, options = {})
403
403
  return super do |config|
404
404
  config.init(:remote_path, '/var/git')
405
405
  config.set(:add, true)
@@ -524,7 +524,7 @@ class Git < Plugin::Project
524
524
  end
525
525
  end
526
526
 
527
- command_provider = get(:command_provider, Nucleon.type_default(:command))
527
+ command_provider = get(:command_provider, Nucleon.type_default(:nucleon, :command))
528
528
  quiet = get(:quiet, true)
529
529
 
530
530
  command = Nucleon.command({
@@ -1,7 +1,7 @@
1
1
 
2
2
  module Nucleon
3
3
  module Template
4
- class Json < Plugin::Template
4
+ class JSON < Nucleon.plugin_class(:nucleon, :template)
5
5
 
6
6
  #-----------------------------------------------------------------------------
7
7
  # Renderers
@@ -1,7 +1,7 @@
1
1
 
2
2
  module Nucleon
3
3
  module Template
4
- class Yaml < Plugin::Template
4
+ class YAML < Nucleon.plugin_class(:nucleon, :template)
5
5
 
6
6
  #-----------------------------------------------------------------------------
7
7
  # Renderers
@@ -1,7 +1,7 @@
1
1
 
2
2
  module Nucleon
3
3
  module Template
4
- class Wrapper < Plugin::Template
4
+ class Wrapper < Nucleon.plugin_class(:nucleon, :template)
5
5
 
6
6
  #-----------------------------------------------------------------------------
7
7
  # Renderers
@@ -1,7 +1,7 @@
1
1
 
2
2
  module Nucleon
3
3
  module Translator
4
- class Json < Plugin::Translator
4
+ class JSON < Nucleon.plugin_class(:nucleon, :translator)
5
5
 
6
6
  #-----------------------------------------------------------------------------
7
7
  # Translator operations
@@ -1,7 +1,7 @@
1
1
 
2
2
  module Nucleon
3
3
  module Translator
4
- class Yaml < Plugin::Translator
4
+ class YAML < Nucleon.plugin_class(:nucleon, :translator)
5
5
 
6
6
  #-----------------------------------------------------------------------------
7
7
  # Translator operations
@@ -12,21 +12,6 @@
12
12
  # Global namespace
13
13
 
14
14
  module Kernel
15
-
16
- def dbg(data, label = '')
17
- # Invocations of this function should NOT be committed to the project
18
- require 'pp'
19
-
20
- puts '>>----------------------'
21
- unless ! label || label.empty?
22
- puts label
23
- puts '---'
24
- end
25
- pp data
26
- puts '<<'
27
- end
28
-
29
- #---
30
15
 
31
16
  def nucleon_locate(command)
32
17
  command = command.to_s
@@ -170,8 +155,33 @@ module Nucleon
170
155
 
171
156
  def self.parallel?
172
157
  debugging? || ENV['NUCLEON_NO_PARALLEL'] ? false : true
158
+ end
159
+
160
+ #---
161
+
162
+ @@console_lock = Mutex.new
163
+
164
+ def self.console_lock
165
+ @@console_lock
173
166
  end
174
167
  end
168
+
169
+ #-------------------------------------------------------------------------------
170
+
171
+ module Kernel
172
+
173
+ def dbg(data, label = '')
174
+ # Invocations of this function should NOT be committed to the project
175
+ require 'pp'
176
+ puts '>>----------------------'
177
+ unless ! label || label.empty?
178
+ puts label
179
+ puts '---'
180
+ end
181
+ pp data
182
+ puts '<<'
183
+ end
184
+ end
175
185
 
176
186
  #-------------------------------------------------------------------------------
177
187
  # Coral requirements
@@ -301,6 +311,7 @@ end
301
311
 
302
312
  # Include plugin system
303
313
  nucleon_require(core_dir, :gems)
314
+ nucleon_require(core_dir, :environment)
304
315
  nucleon_require(core_dir, :manager)
305
316
  nucleon_require(plugin_dir, :base)
306
317
  nucleon_require(core_dir, :plugin)
@@ -7,14 +7,24 @@ en:
7
7
  Usage
8
8
  header: |-
9
9
  Available actions
10
+ action_group: |-
11
+ %{namespace} actions
12
+ no_actions_found: |-
13
+ No action found. Try these.
14
+ multiple_actions_found: |-
15
+ Multiple actions were found. Did you mean one of these?
10
16
  footer: |-
11
- For help on any individual action run `%{name} <action> -h`
17
+ For help on any individual action run `%{command}`
12
18
  errors:
13
19
  missing_argument: |-
14
20
  Argument <%{name}> must be specified
15
21
  util:
16
22
  cli:
17
23
  options:
24
+ version: |-
25
+ Print the current version information and exit
26
+ color: |-
27
+ Whether or not to output console messages in color (default %{default_value})
18
28
  short_help: |-
19
29
  Display brief help information for this command
20
30
  extended_help: |-
@@ -26,10 +36,6 @@ en:
26
36
  parse:
27
37
  error: |-
28
38
  There was a problem with the command arguments given
29
- action:
30
- options:
31
- color: |-
32
- Whether or not to output console messages in color (default %{default_value})
33
39
  mixin:
34
40
  action:
35
41
  project:
@@ -62,8 +68,64 @@ en:
62
68
  Branch to push (default %{default_value})
63
69
  propogate_push: |-
64
70
  Propogate pushes to the remote throughout the project tree (default %{default_value})
65
- actions:
71
+ action:
72
+ unknown:
73
+ description: |-
74
+ This Nucleon action has no description available
75
+ help: |-
76
+ There is no extended help information available for this Nucleon action.
77
+ project:
78
+ create:
79
+ description: |-
80
+ Create a new project
81
+ options:
82
+ path: |-
83
+ Project path (default %{default_value})
84
+ start: |-
85
+ Creating a new project at %{path} from %{project_reference}
86
+ update:
87
+ description: |-
88
+ Update this project from a remote
89
+ options:
90
+ path: |-
91
+ Project path (default %{default_value})
92
+ start: |-
93
+ Starting update run from provider %{project_provider} (ref: %{project_reference} rev: %{project_revision})
94
+ save:
95
+ description: |-
96
+ Save changes to files in this project
97
+ options:
98
+ path: |-
99
+ Project path (default %{default_value})
100
+ files: |-
101
+ Optional space separated list of files to save
102
+ start: |-
103
+ Saving project changes with provider %{project_provider} (ref: %{project_reference} rev: %{project_revision})
104
+ add:
105
+ description: |-
106
+ Add a new sub-project to this project
107
+ options:
108
+ path: |-
109
+ Project path (default %{default_value})
110
+ sub_path: |-
111
+ Subproject path
112
+ editable: |-
113
+ Whether or not this sub project should be added as an editable remote (default %{default_value})
114
+ start: |-
115
+ Adding new subproject from %{sub_reference} at %{sub_path}
116
+ remove:
117
+ description: |-
118
+ Remove an existing sub-project from this project
119
+ options:
120
+ path: |-
121
+ Project path (default %{default_value})
122
+ sub_path: |-
123
+ Subproject path
124
+ start: |-
125
+ Removing existing subproject at %{sub_path}
66
126
  extract:
127
+ description: |-
128
+ Extract an encoded package into a directory
67
129
  options:
68
130
  path: |-
69
131
  Base path in which to extract the encoded data
@@ -74,41 +136,4 @@ en:
74
136
  "Base path for extracted files must be an existing directory"
75
137
  encoded: |-
76
138
  "Data is either not properly encoded or is empty %{value}"
77
- create:
78
- options:
79
- path: |-
80
- Project path (default %{default_value})
81
- start: |-
82
- Creating a new project at %{path} from %{project_reference}
83
- add:
84
- options:
85
- path: |-
86
- Project path (default %{default_value})
87
- sub_path: |-
88
- Subproject path
89
- editable: |-
90
- Whether or not this sub project should be added as an editable remote (default %{default_value})
91
- start: |-
92
- Adding new subproject from %{sub_reference} at %{sub_path}
93
- remove:
94
- options:
95
- path: |-
96
- Project path (default %{default_value})
97
- sub_path: |-
98
- Subproject path
99
- start: |-
100
- Removing existing subproject at %{sub_path}
101
- update:
102
- options:
103
- path: |-
104
- Project path (default %{default_value})
105
- start: |-
106
- Starting update run from provider %{project_provider} (ref: %{project_reference} rev: %{project_revision})
107
- save:
108
- options:
109
- path: |-
110
- Project path (default %{default_value})
111
- files: |-
112
- Optional space separated list of files to save
113
- start: |-
114
- Saving project changes with provider %{project_provider} (ref: %{project_reference} rev: %{project_revision})
139
+
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "nucleon"
8
- s.version = "0.1.19"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Adrian Webb"]
12
- s.date = "2014-05-21"
12
+ s.date = "2014-07-01"
13
13
  s.description = "\nA framework that provides a simple foundation for building Ruby applications that are:\n\n* Highly configurable (with both distributed and persistent configurations)\n* Extremely pluggable and extendable\n* Easily parallel\n\nNote: This framework is still very early in development!\n"
14
14
  s.email = "adrian.webb@coralnexus.com"
15
15
  s.executables = ["nucleon"]
@@ -34,6 +34,7 @@ Gem::Specification.new do |s|
34
34
  "lib/core/config/collection.rb",
35
35
  "lib/core/config/options.rb",
36
36
  "lib/core/core.rb",
37
+ "lib/core/environment.rb",
37
38
  "lib/core/errors.rb",
38
39
  "lib/core/facade.rb",
39
40
  "lib/core/gems.rb",
@@ -69,24 +70,138 @@ Gem::Specification.new do |s|
69
70
  "lib/core/util/shell.rb",
70
71
  "lib/core/util/ssh.rb",
71
72
  "lib/nucleon.rb",
72
- "lib/nucleon/action/add.rb",
73
- "lib/nucleon/action/create.rb",
74
73
  "lib/nucleon/action/extract.rb",
75
- "lib/nucleon/action/remove.rb",
76
- "lib/nucleon/action/save.rb",
77
- "lib/nucleon/action/update.rb",
74
+ "lib/nucleon/action/project/add.rb",
75
+ "lib/nucleon/action/project/create.rb",
76
+ "lib/nucleon/action/project/remove.rb",
77
+ "lib/nucleon/action/project/save.rb",
78
+ "lib/nucleon/action/project/update.rb",
78
79
  "lib/nucleon/command/bash.rb",
79
80
  "lib/nucleon/event/regex.rb",
80
81
  "lib/nucleon/project/git.rb",
81
82
  "lib/nucleon/project/github.rb",
82
- "lib/nucleon/template/json.rb",
83
+ "lib/nucleon/template/JSON.rb",
84
+ "lib/nucleon/template/YAML.rb",
83
85
  "lib/nucleon/template/wrapper.rb",
84
- "lib/nucleon/template/yaml.rb",
85
- "lib/nucleon/translator/json.rb",
86
- "lib/nucleon/translator/yaml.rb",
86
+ "lib/nucleon/translator/JSON.rb",
87
+ "lib/nucleon/translator/YAML.rb",
87
88
  "lib/nucleon_base.rb",
88
89
  "locales/en.yml",
89
90
  "nucleon.gemspec",
91
+ "rdoc/site/0.1.19/ARCHITECTURE_rdoc.html",
92
+ "rdoc/site/0.1.19/Hash.html",
93
+ "rdoc/site/0.1.19/Kernel.html",
94
+ "rdoc/site/0.1.19/Nucleon.html",
95
+ "rdoc/site/0.1.19/Nucleon/Action.html",
96
+ "rdoc/site/0.1.19/Nucleon/Action/Add.html",
97
+ "rdoc/site/0.1.19/Nucleon/Action/Create.html",
98
+ "rdoc/site/0.1.19/Nucleon/Action/Extract.html",
99
+ "rdoc/site/0.1.19/Nucleon/Action/Remove.html",
100
+ "rdoc/site/0.1.19/Nucleon/Action/Save.html",
101
+ "rdoc/site/0.1.19/Nucleon/Action/Update.html",
102
+ "rdoc/site/0.1.19/Nucleon/Codes.html",
103
+ "rdoc/site/0.1.19/Nucleon/Command.html",
104
+ "rdoc/site/0.1.19/Nucleon/Command/Bash.html",
105
+ "rdoc/site/0.1.19/Nucleon/Config.html",
106
+ "rdoc/site/0.1.19/Nucleon/Config/Collection.html",
107
+ "rdoc/site/0.1.19/Nucleon/Config/Options.html",
108
+ "rdoc/site/0.1.19/Nucleon/Core.html",
109
+ "rdoc/site/0.1.19/Nucleon/Errors.html",
110
+ "rdoc/site/0.1.19/Nucleon/Errors/BatchError.html",
111
+ "rdoc/site/0.1.19/Nucleon/Errors/NucleonError.html",
112
+ "rdoc/site/0.1.19/Nucleon/Errors/SSHUnavailable.html",
113
+ "rdoc/site/0.1.19/Nucleon/Event.html",
114
+ "rdoc/site/0.1.19/Nucleon/Event/Regex.html",
115
+ "rdoc/site/0.1.19/Nucleon/Facade.html",
116
+ "rdoc/site/0.1.19/Nucleon/Gems.html",
117
+ "rdoc/site/0.1.19/Nucleon/Manager.html",
118
+ "rdoc/site/0.1.19/Nucleon/Mixin.html",
119
+ "rdoc/site/0.1.19/Nucleon/Mixin/Action.html",
120
+ "rdoc/site/0.1.19/Nucleon/Mixin/Action/Commit.html",
121
+ "rdoc/site/0.1.19/Nucleon/Mixin/Action/Project.html",
122
+ "rdoc/site/0.1.19/Nucleon/Mixin/Action/Push.html",
123
+ "rdoc/site/0.1.19/Nucleon/Mixin/Colors.html",
124
+ "rdoc/site/0.1.19/Nucleon/Mixin/ConfigCollection.html",
125
+ "rdoc/site/0.1.19/Nucleon/Mixin/ConfigOptions.html",
126
+ "rdoc/site/0.1.19/Nucleon/Mixin/Macro.html",
127
+ "rdoc/site/0.1.19/Nucleon/Mixin/Macro/ObjectInterface.html",
128
+ "rdoc/site/0.1.19/Nucleon/Mixin/Macro/PluginInterface.html",
129
+ "rdoc/site/0.1.19/Nucleon/Mixin/Settings.html",
130
+ "rdoc/site/0.1.19/Nucleon/Mixin/SubConfig.html",
131
+ "rdoc/site/0.1.19/Nucleon/Parallel.html",
132
+ "rdoc/site/0.1.19/Nucleon/Parallel/ClassMethods.html",
133
+ "rdoc/site/0.1.19/Nucleon/Parallel/InstanceMethods.html",
134
+ "rdoc/site/0.1.19/Nucleon/Plugin.html",
135
+ "rdoc/site/0.1.19/Nucleon/Plugin/Action.html",
136
+ "rdoc/site/0.1.19/Nucleon/Plugin/Action/Option.html",
137
+ "rdoc/site/0.1.19/Nucleon/Plugin/Base.html",
138
+ "rdoc/site/0.1.19/Nucleon/Plugin/Command.html",
139
+ "rdoc/site/0.1.19/Nucleon/Plugin/Event.html",
140
+ "rdoc/site/0.1.19/Nucleon/Plugin/Extension.html",
141
+ "rdoc/site/0.1.19/Nucleon/Plugin/Project.html",
142
+ "rdoc/site/0.1.19/Nucleon/Plugin/Template.html",
143
+ "rdoc/site/0.1.19/Nucleon/Plugin/Translator.html",
144
+ "rdoc/site/0.1.19/Nucleon/Project.html",
145
+ "rdoc/site/0.1.19/Nucleon/Project/Git.html",
146
+ "rdoc/site/0.1.19/Nucleon/Project/Github.html",
147
+ "rdoc/site/0.1.19/Nucleon/Template.html",
148
+ "rdoc/site/0.1.19/Nucleon/Template/Json.html",
149
+ "rdoc/site/0.1.19/Nucleon/Template/Wrapper.html",
150
+ "rdoc/site/0.1.19/Nucleon/Template/Yaml.html",
151
+ "rdoc/site/0.1.19/Nucleon/Translator.html",
152
+ "rdoc/site/0.1.19/Nucleon/Translator/Json.html",
153
+ "rdoc/site/0.1.19/Nucleon/Translator/Yaml.html",
154
+ "rdoc/site/0.1.19/Nucleon/Util.html",
155
+ "rdoc/site/0.1.19/Nucleon/Util/CLI.html",
156
+ "rdoc/site/0.1.19/Nucleon/Util/CLI/Parser.html",
157
+ "rdoc/site/0.1.19/Nucleon/Util/Cache.html",
158
+ "rdoc/site/0.1.19/Nucleon/Util/Console.html",
159
+ "rdoc/site/0.1.19/Nucleon/Util/Data.html",
160
+ "rdoc/site/0.1.19/Nucleon/Util/Disk.html",
161
+ "rdoc/site/0.1.19/Nucleon/Util/Git.html",
162
+ "rdoc/site/0.1.19/Nucleon/Util/Liquid.html",
163
+ "rdoc/site/0.1.19/Nucleon/Util/Logger.html",
164
+ "rdoc/site/0.1.19/Nucleon/Util/Package.html",
165
+ "rdoc/site/0.1.19/Nucleon/Util/SSH.html",
166
+ "rdoc/site/0.1.19/Nucleon/Util/SSH/Keypair.html",
167
+ "rdoc/site/0.1.19/Nucleon/Util/Shell.html",
168
+ "rdoc/site/0.1.19/Nucleon/Util/Shell/Result.html",
169
+ "rdoc/site/0.1.19/README_rdoc.html",
170
+ "rdoc/site/0.1.19/TODO_rdoc.html",
171
+ "rdoc/site/0.1.19/created.rid",
172
+ "rdoc/site/0.1.19/images/add.png",
173
+ "rdoc/site/0.1.19/images/brick.png",
174
+ "rdoc/site/0.1.19/images/brick_link.png",
175
+ "rdoc/site/0.1.19/images/bug.png",
176
+ "rdoc/site/0.1.19/images/bullet_black.png",
177
+ "rdoc/site/0.1.19/images/bullet_toggle_minus.png",
178
+ "rdoc/site/0.1.19/images/bullet_toggle_plus.png",
179
+ "rdoc/site/0.1.19/images/date.png",
180
+ "rdoc/site/0.1.19/images/delete.png",
181
+ "rdoc/site/0.1.19/images/find.png",
182
+ "rdoc/site/0.1.19/images/loadingAnimation.gif",
183
+ "rdoc/site/0.1.19/images/macFFBgHack.png",
184
+ "rdoc/site/0.1.19/images/package.png",
185
+ "rdoc/site/0.1.19/images/page_green.png",
186
+ "rdoc/site/0.1.19/images/page_white_text.png",
187
+ "rdoc/site/0.1.19/images/page_white_width.png",
188
+ "rdoc/site/0.1.19/images/plugin.png",
189
+ "rdoc/site/0.1.19/images/ruby.png",
190
+ "rdoc/site/0.1.19/images/tag_blue.png",
191
+ "rdoc/site/0.1.19/images/tag_green.png",
192
+ "rdoc/site/0.1.19/images/transparent.png",
193
+ "rdoc/site/0.1.19/images/wrench.png",
194
+ "rdoc/site/0.1.19/images/wrench_orange.png",
195
+ "rdoc/site/0.1.19/images/zoom.png",
196
+ "rdoc/site/0.1.19/index.html",
197
+ "rdoc/site/0.1.19/js/darkfish.js",
198
+ "rdoc/site/0.1.19/js/jquery.js",
199
+ "rdoc/site/0.1.19/js/navigation.js",
200
+ "rdoc/site/0.1.19/js/search.js",
201
+ "rdoc/site/0.1.19/js/search_index.js",
202
+ "rdoc/site/0.1.19/js/searcher.js",
203
+ "rdoc/site/0.1.19/rdoc.css",
204
+ "rdoc/site/0.1.19/table_of_contents.html",
90
205
  "spec/coral_mock_input.rb",
91
206
  "spec/coral_test_kernel.rb",
92
207
  "spec/core/util/console_spec.rb",
@@ -108,6 +223,7 @@ Gem::Specification.new do |s|
108
223
  s.add_runtime_dependency(%q<log4r>, ["~> 1.1"])
109
224
  s.add_runtime_dependency(%q<i18n>, ["~> 0.6"])
110
225
  s.add_runtime_dependency(%q<netrc>, ["~> 0.7"])
226
+ s.add_runtime_dependency(%q<highline>, ["~> 1.6"])
111
227
  s.add_runtime_dependency(%q<deep_merge>, ["~> 1.0"])
112
228
  s.add_runtime_dependency(%q<multi_json>, ["~> 1.7"])
113
229
  s.add_runtime_dependency(%q<sshkey>, ["~> 1.6"])
@@ -127,6 +243,7 @@ Gem::Specification.new do |s|
127
243
  s.add_dependency(%q<log4r>, ["~> 1.1"])
128
244
  s.add_dependency(%q<i18n>, ["~> 0.6"])
129
245
  s.add_dependency(%q<netrc>, ["~> 0.7"])
246
+ s.add_dependency(%q<highline>, ["~> 1.6"])
130
247
  s.add_dependency(%q<deep_merge>, ["~> 1.0"])
131
248
  s.add_dependency(%q<multi_json>, ["~> 1.7"])
132
249
  s.add_dependency(%q<sshkey>, ["~> 1.6"])
@@ -147,6 +264,7 @@ Gem::Specification.new do |s|
147
264
  s.add_dependency(%q<log4r>, ["~> 1.1"])
148
265
  s.add_dependency(%q<i18n>, ["~> 0.6"])
149
266
  s.add_dependency(%q<netrc>, ["~> 0.7"])
267
+ s.add_dependency(%q<highline>, ["~> 1.6"])
150
268
  s.add_dependency(%q<deep_merge>, ["~> 1.0"])
151
269
  s.add_dependency(%q<multi_json>, ["~> 1.7"])
152
270
  s.add_dependency(%q<sshkey>, ["~> 1.6"])