nucleon 0.1.0 → 0.1.1

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 (62) hide show
  1. data/Gemfile +4 -8
  2. data/Gemfile.lock +0 -28
  3. data/README.rdoc +13 -5
  4. data/Rakefile +9 -1
  5. data/VERSION +1 -1
  6. data/bin/nucleon +55 -0
  7. data/lib/core/codes.rb +107 -0
  8. data/lib/core/config/collection.rb +57 -0
  9. data/lib/core/config/options.rb +70 -0
  10. data/lib/core/config.rb +342 -0
  11. data/lib/core/core.rb +54 -0
  12. data/lib/core/errors.rb +84 -0
  13. data/lib/core/facade.rb +283 -0
  14. data/lib/core/gems.rb +80 -0
  15. data/lib/core/manager.rb +594 -0
  16. data/lib/core/mixin/action/commit.rb +58 -0
  17. data/lib/core/mixin/action/project.rb +53 -0
  18. data/lib/core/mixin/action/push.rb +52 -0
  19. data/lib/core/mixin/config/collection.rb +53 -0
  20. data/lib/core/mixin/config/options.rb +39 -0
  21. data/lib/core/mixin/macro/object_interface.rb +361 -0
  22. data/lib/core/mixin/macro/plugin_interface.rb +380 -0
  23. data/lib/core/mixin/settings.rb +46 -0
  24. data/lib/core/mixin/sub_config.rb +148 -0
  25. data/lib/core/mod/hash.rb +29 -0
  26. data/lib/core/plugin/action.rb +371 -0
  27. data/lib/core/plugin/base.rb +313 -0
  28. data/lib/core/plugin/command.rb +98 -0
  29. data/lib/core/plugin/event.rb +53 -0
  30. data/lib/core/plugin/extension.rb +12 -0
  31. data/lib/core/plugin/project.rb +890 -0
  32. data/lib/core/plugin/template.rb +80 -0
  33. data/lib/core/plugin/translator.rb +38 -0
  34. data/lib/core/util/cli.rb +353 -0
  35. data/lib/core/util/console.rb +237 -0
  36. data/lib/core/util/data.rb +404 -0
  37. data/lib/core/util/disk.rb +114 -0
  38. data/lib/core/util/git.rb +43 -0
  39. data/lib/core/util/liquid.rb +17 -0
  40. data/lib/core/util/logger.rb +147 -0
  41. data/lib/core/util/package.rb +93 -0
  42. data/lib/core/util/shell.rb +239 -0
  43. data/lib/nucleon/action/add.rb +69 -0
  44. data/lib/nucleon/action/create.rb +52 -0
  45. data/lib/nucleon/action/extract.rb +49 -0
  46. data/lib/nucleon/action/remove.rb +51 -0
  47. data/lib/nucleon/action/save.rb +53 -0
  48. data/lib/nucleon/action/update.rb +37 -0
  49. data/lib/nucleon/command/bash.rb +146 -0
  50. data/lib/nucleon/event/regex.rb +52 -0
  51. data/lib/nucleon/project/git.rb +465 -0
  52. data/lib/nucleon/project/github.rb +108 -0
  53. data/lib/nucleon/template/json.rb +16 -0
  54. data/lib/nucleon/template/wrapper.rb +16 -0
  55. data/lib/nucleon/template/yaml.rb +16 -0
  56. data/lib/nucleon/translator/json.rb +27 -0
  57. data/lib/nucleon/translator/yaml.rb +27 -0
  58. data/lib/nucleon.rb +18 -15
  59. data/locales/en.yml +3 -132
  60. data/nucleon.gemspec +66 -27
  61. data/spec/core/util/console_spec.rb +489 -0
  62. metadata +109 -96
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nucleon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-02-19 00:00:00.000000000 Z
12
+ date: 2014-02-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: log4r
16
- requirement: &7340560 !ruby/object:Gem::Requirement
16
+ requirement: &7010740 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '1.1'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *7340560
24
+ version_requirements: *7010740
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: i18n
27
- requirement: &7340080 !ruby/object:Gem::Requirement
27
+ requirement: &7009520 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,54 +32,43 @@ dependencies:
32
32
  version: '0.6'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *7340080
35
+ version_requirements: *7009520
36
36
  - !ruby/object:Gem::Dependency
37
- name: deep_merge
38
- requirement: &7339600 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - ~>
42
- - !ruby/object:Gem::Version
43
- version: '1.0'
44
- type: :runtime
45
- prerelease: false
46
- version_requirements: *7339600
47
- - !ruby/object:Gem::Dependency
48
- name: celluloid
49
- requirement: &7339120 !ruby/object:Gem::Requirement
37
+ name: rgen
38
+ requirement: &7264000 !ruby/object:Gem::Requirement
50
39
  none: false
51
40
  requirements:
52
41
  - - ~>
53
42
  - !ruby/object:Gem::Version
54
- version: '0.15'
43
+ version: '0.6'
55
44
  type: :runtime
56
45
  prerelease: false
57
- version_requirements: *7339120
46
+ version_requirements: *7264000
58
47
  - !ruby/object:Gem::Dependency
59
- name: sshkey
60
- requirement: &7338640 !ruby/object:Gem::Requirement
48
+ name: netrc
49
+ requirement: &7263120 !ruby/object:Gem::Requirement
61
50
  none: false
62
51
  requirements:
63
52
  - - ~>
64
53
  - !ruby/object:Gem::Version
65
- version: '1.6'
54
+ version: '0.7'
66
55
  type: :runtime
67
56
  prerelease: false
68
- version_requirements: *7338640
57
+ version_requirements: *7263120
69
58
  - !ruby/object:Gem::Dependency
70
- name: hiera
71
- requirement: &6646980 !ruby/object:Gem::Requirement
59
+ name: deep_merge
60
+ requirement: &7261980 !ruby/object:Gem::Requirement
72
61
  none: false
73
62
  requirements:
74
63
  - - ~>
75
64
  - !ruby/object:Gem::Version
76
- version: '1.3'
65
+ version: '1.0'
77
66
  type: :runtime
78
67
  prerelease: false
79
- version_requirements: *6646980
68
+ version_requirements: *7261980
80
69
  - !ruby/object:Gem::Dependency
81
70
  name: multi_json
82
- requirement: &6643780 !ruby/object:Gem::Requirement
71
+ requirement: &7261040 !ruby/object:Gem::Requirement
83
72
  none: false
84
73
  requirements:
85
74
  - - ~>
@@ -87,10 +76,10 @@ dependencies:
87
76
  version: '1.7'
88
77
  type: :runtime
89
78
  prerelease: false
90
- version_requirements: *6643780
79
+ version_requirements: *7261040
91
80
  - !ruby/object:Gem::Dependency
92
81
  name: grit
93
- requirement: &7763020 !ruby/object:Gem::Requirement
82
+ requirement: &7259580 !ruby/object:Gem::Requirement
94
83
  none: false
95
84
  requirements:
96
85
  - - ~>
@@ -98,10 +87,10 @@ dependencies:
98
87
  version: '2.5'
99
88
  type: :runtime
100
89
  prerelease: false
101
- version_requirements: *7763020
90
+ version_requirements: *7259580
102
91
  - !ruby/object:Gem::Dependency
103
92
  name: octokit
104
- requirement: &7762540 !ruby/object:Gem::Requirement
93
+ requirement: &7258620 !ruby/object:Gem::Requirement
105
94
  none: false
106
95
  requirements:
107
96
  - - ~>
@@ -109,65 +98,21 @@ dependencies:
109
98
  version: '2.7'
110
99
  type: :runtime
111
100
  prerelease: false
112
- version_requirements: *7762540
113
- - !ruby/object:Gem::Dependency
114
- name: netrc
115
- requirement: &7762060 !ruby/object:Gem::Requirement
116
- none: false
117
- requirements:
118
- - - ~>
119
- - !ruby/object:Gem::Version
120
- version: '0.7'
121
- type: :runtime
122
- prerelease: false
123
- version_requirements: *7762060
101
+ version_requirements: *7258620
124
102
  - !ruby/object:Gem::Dependency
125
- name: fog
126
- requirement: &7761580 !ruby/object:Gem::Requirement
127
- none: false
128
- requirements:
129
- - - ~>
130
- - !ruby/object:Gem::Version
131
- version: '1.20'
132
- type: :runtime
133
- prerelease: false
134
- version_requirements: *7761580
135
- - !ruby/object:Gem::Dependency
136
- name: rgen
137
- requirement: &7761100 !ruby/object:Gem::Requirement
138
- none: false
139
- requirements:
140
- - - ~>
141
- - !ruby/object:Gem::Version
142
- version: '0.6'
143
- type: :runtime
144
- prerelease: false
145
- version_requirements: *7761100
146
- - !ruby/object:Gem::Dependency
147
- name: facter
148
- requirement: &7760620 !ruby/object:Gem::Requirement
149
- none: false
150
- requirements:
151
- - - ~>
152
- - !ruby/object:Gem::Version
153
- version: '1.7'
154
- type: :runtime
155
- prerelease: false
156
- version_requirements: *7760620
157
- - !ruby/object:Gem::Dependency
158
- name: puppet
159
- requirement: &7760140 !ruby/object:Gem::Requirement
103
+ name: celluloid
104
+ requirement: &7257280 !ruby/object:Gem::Requirement
160
105
  none: false
161
106
  requirements:
162
107
  - - ~>
163
108
  - !ruby/object:Gem::Version
164
- version: '3.2'
109
+ version: '0.15'
165
110
  type: :runtime
166
111
  prerelease: false
167
- version_requirements: *7760140
112
+ version_requirements: *7257280
168
113
  - !ruby/object:Gem::Dependency
169
114
  name: bundler
170
- requirement: &7759660 !ruby/object:Gem::Requirement
115
+ requirement: &7256300 !ruby/object:Gem::Requirement
171
116
  none: false
172
117
  requirements:
173
118
  - - ~>
@@ -175,10 +120,10 @@ dependencies:
175
120
  version: '1.2'
176
121
  type: :development
177
122
  prerelease: false
178
- version_requirements: *7759660
123
+ version_requirements: *7256300
179
124
  - !ruby/object:Gem::Dependency
180
125
  name: jeweler
181
- requirement: &7759180 !ruby/object:Gem::Requirement
126
+ requirement: &7252940 !ruby/object:Gem::Requirement
182
127
  none: false
183
128
  requirements:
184
129
  - - ~>
@@ -186,10 +131,10 @@ dependencies:
186
131
  version: '2.0'
187
132
  type: :development
188
133
  prerelease: false
189
- version_requirements: *7759180
134
+ version_requirements: *7252940
190
135
  - !ruby/object:Gem::Dependency
191
136
  name: rspec
192
- requirement: &7758700 !ruby/object:Gem::Requirement
137
+ requirement: &7251340 !ruby/object:Gem::Requirement
193
138
  none: false
194
139
  requirements:
195
140
  - - ~>
@@ -197,10 +142,10 @@ dependencies:
197
142
  version: '2.10'
198
143
  type: :development
199
144
  prerelease: false
200
- version_requirements: *7758700
145
+ version_requirements: *7251340
201
146
  - !ruby/object:Gem::Dependency
202
147
  name: rdoc
203
- requirement: &7758220 !ruby/object:Gem::Requirement
148
+ requirement: &7249680 !ruby/object:Gem::Requirement
204
149
  none: false
205
150
  requirements:
206
151
  - - ~>
@@ -208,10 +153,10 @@ dependencies:
208
153
  version: '3.12'
209
154
  type: :development
210
155
  prerelease: false
211
- version_requirements: *7758220
156
+ version_requirements: *7249680
212
157
  - !ruby/object:Gem::Dependency
213
158
  name: yard
214
- requirement: &7757740 !ruby/object:Gem::Requirement
159
+ requirement: &7248340 !ruby/object:Gem::Requirement
215
160
  none: false
216
161
  requirements:
217
162
  - - ~>
@@ -219,11 +164,26 @@ dependencies:
219
164
  version: '0.8'
220
165
  type: :development
221
166
  prerelease: false
222
- version_requirements: *7757740
223
- description: Framework that provides a simple foundation for building distributively
224
- configured, extremely pluggable and extendable, and easily parallel Ruby applications
167
+ version_requirements: *7248340
168
+ description: ! '
169
+
170
+ A framework that provides a simple foundation for building Ruby applications that
171
+ are:
172
+
173
+
174
+ * Highly configurable (with both distributed and persistent configurations)
175
+
176
+ * Extremely pluggable and extendable
177
+
178
+ * Easily parallel
179
+
180
+
181
+ Note: This framework is still very early in development!
182
+
183
+ '
225
184
  email: adrian.webb@coralnexus.com
226
- executables: []
185
+ executables:
186
+ - nucleon
227
187
  extensions: []
228
188
  extra_rdoc_files:
229
189
  - LICENSE.txt
@@ -236,11 +196,64 @@ files:
236
196
  - README.rdoc
237
197
  - Rakefile
238
198
  - VERSION
199
+ - bin/nucleon
200
+ - lib/core/codes.rb
201
+ - lib/core/config.rb
202
+ - lib/core/config/collection.rb
203
+ - lib/core/config/options.rb
204
+ - lib/core/core.rb
205
+ - lib/core/errors.rb
206
+ - lib/core/facade.rb
207
+ - lib/core/gems.rb
208
+ - lib/core/manager.rb
209
+ - lib/core/mixin/action/commit.rb
210
+ - lib/core/mixin/action/project.rb
211
+ - lib/core/mixin/action/push.rb
212
+ - lib/core/mixin/config/collection.rb
213
+ - lib/core/mixin/config/options.rb
214
+ - lib/core/mixin/macro/object_interface.rb
215
+ - lib/core/mixin/macro/plugin_interface.rb
216
+ - lib/core/mixin/settings.rb
217
+ - lib/core/mixin/sub_config.rb
218
+ - lib/core/mod/hash.rb
219
+ - lib/core/plugin/action.rb
220
+ - lib/core/plugin/base.rb
221
+ - lib/core/plugin/command.rb
222
+ - lib/core/plugin/event.rb
223
+ - lib/core/plugin/extension.rb
224
+ - lib/core/plugin/project.rb
225
+ - lib/core/plugin/template.rb
226
+ - lib/core/plugin/translator.rb
227
+ - lib/core/util/cli.rb
228
+ - lib/core/util/console.rb
229
+ - lib/core/util/data.rb
230
+ - lib/core/util/disk.rb
231
+ - lib/core/util/git.rb
232
+ - lib/core/util/liquid.rb
233
+ - lib/core/util/logger.rb
234
+ - lib/core/util/package.rb
235
+ - lib/core/util/shell.rb
239
236
  - lib/nucleon.rb
237
+ - lib/nucleon/action/add.rb
238
+ - lib/nucleon/action/create.rb
239
+ - lib/nucleon/action/extract.rb
240
+ - lib/nucleon/action/remove.rb
241
+ - lib/nucleon/action/save.rb
242
+ - lib/nucleon/action/update.rb
243
+ - lib/nucleon/command/bash.rb
244
+ - lib/nucleon/event/regex.rb
245
+ - lib/nucleon/project/git.rb
246
+ - lib/nucleon/project/github.rb
247
+ - lib/nucleon/template/json.rb
248
+ - lib/nucleon/template/wrapper.rb
249
+ - lib/nucleon/template/yaml.rb
250
+ - lib/nucleon/translator/json.rb
251
+ - lib/nucleon/translator/yaml.rb
240
252
  - locales/en.yml
241
253
  - nucleon.gemspec
242
254
  - spec/coral_mock_input.rb
243
255
  - spec/coral_test_kernel.rb
256
+ - spec/core/util/console_spec.rb
244
257
  - spec/spec_helper.rb
245
258
  homepage: http://github.com/coralnexus/nucleon
246
259
  licenses: