nucleon 0.1.3 → 0.1.4

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.
@@ -6,7 +6,7 @@ class Bash < Plugin::Command
6
6
  #-----------------------------------------------------------------------------
7
7
  # Command plugin interface
8
8
 
9
- def normalize
9
+ def normalize(reload)
10
10
  super
11
11
  myself.command = executable(myself)
12
12
  logger.info("Setting command executable to #{command}")
@@ -6,7 +6,7 @@ class Regex < Plugin::Event
6
6
  #-----------------------------------------------------------------------------
7
7
  # Regular expression event interface
8
8
 
9
- def normalize
9
+ def normalize(reload)
10
10
  super
11
11
 
12
12
  if get(:string)
@@ -6,7 +6,7 @@ class Git < Plugin::Project
6
6
  #-----------------------------------------------------------------------------
7
7
  # Project plugin interface
8
8
 
9
- def normalize
9
+ def normalize(reload)
10
10
  super
11
11
  end
12
12
 
@@ -399,7 +399,7 @@ class Git < Plugin::Project
399
399
  :flags => flags,
400
400
  :args => [ processed_remote, config.get(:revision, get(:revision, :master)) ]
401
401
  }
402
- }, config.get(:provider, :bash)).exec(config) do |op, command, data|
402
+ }, config.get(:provider, :bash)).exec(config.import({ :quiet => true })) do |op, command, data|
403
403
  block_given? ? yield(op, command, data) : true
404
404
  end
405
405
 
@@ -430,7 +430,7 @@ class Git < Plugin::Project
430
430
  :flags => flags,
431
431
  :args => [ processed_remote, push_branch ]
432
432
  }
433
- }, config.get(:provider, :bash)).exec(config) do |op, command, data|
433
+ }, config.get(:provider, :bash)).exec(config.import({ :quiet => true })) do |op, command, data|
434
434
  block_given? ? yield(op, command, data) : true
435
435
  end
436
436
 
@@ -10,7 +10,7 @@ class Github < Git
10
10
  #-----------------------------------------------------------------------------
11
11
  # Project plugin interface
12
12
 
13
- def normalize
13
+ def normalize(reload)
14
14
  if reference = delete(:reference, nil)
15
15
  myself.plugin_name = reference
16
16
  else
@@ -44,7 +44,7 @@ class Github < Git
44
44
 
45
45
  def init_auth
46
46
  super do
47
- key_id = ENV['USER'] + '@' + lookup(:ipaddress)
47
+ key_id = ENV['USER'] + '@' + Nucleon.ip_address
48
48
  ssh_key = public_key_str
49
49
 
50
50
  if private_key && ssh_key
@@ -60,16 +60,11 @@ class Github < Git
60
60
  break
61
61
  end
62
62
  end
63
+
64
+ client.remove_deploy_key(myself.plugin_name, github_id) if github_id && ! keys_match
65
+ client.add_deploy_key(myself.plugin_name, key_id, ssh_key)
66
+ verify_key
63
67
 
64
- if github_id
65
- unless keys_match
66
- client.edit_deploy_key(myself.plugin_name, github_id, { :key => ssh_key })
67
- verify_key
68
- end
69
- else
70
- client.add_deploy_key(myself.plugin_name, key_id, ssh_key)
71
- verify_key
72
- end
73
68
 
74
69
  rescue Exception => error
75
70
  logger.error(error.inspect)
@@ -94,7 +94,12 @@ require 'base64'
94
94
  require 'yaml'
95
95
  require 'multi_json'
96
96
 
97
- require 'thread' # Eventually depreciated
97
+ require 'tmpdir'
98
+ require 'sshkey'
99
+
100
+ require 'childprocess'
101
+
102
+ require 'thread' # Eventually depreciated?
98
103
  require 'celluloid'
99
104
  require 'celluloid/autostart'
100
105
 
@@ -157,7 +162,8 @@ nucleon_require(core_dir, :core)
157
162
  :cli,
158
163
  :disk,
159
164
  :package,
160
- :shell
165
+ :shell,
166
+ :ssh
161
167
  ].each do |name|
162
168
  nucleon_require(util_dir, name)
163
169
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "nucleon"
8
- s.version = "0.1.3"
8
+ s.version = "0.1.4"
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-02-23"
12
+ s.date = "2014-03-05"
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"]
@@ -62,6 +62,7 @@ Gem::Specification.new do |s|
62
62
  "lib/core/util/logger.rb",
63
63
  "lib/core/util/package.rb",
64
64
  "lib/core/util/shell.rb",
65
+ "lib/core/util/ssh.rb",
65
66
  "lib/nucleon.rb",
66
67
  "lib/nucleon/action/add.rb",
67
68
  "lib/nucleon/action/create.rb",
@@ -101,13 +102,14 @@ Gem::Specification.new do |s|
101
102
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
102
103
  s.add_runtime_dependency(%q<log4r>, ["~> 1.1"])
103
104
  s.add_runtime_dependency(%q<i18n>, ["~> 0.6"])
104
- s.add_runtime_dependency(%q<rgen>, ["~> 0.6"])
105
105
  s.add_runtime_dependency(%q<netrc>, ["~> 0.7"])
106
106
  s.add_runtime_dependency(%q<deep_merge>, ["~> 1.0"])
107
107
  s.add_runtime_dependency(%q<multi_json>, ["~> 1.7"])
108
+ s.add_runtime_dependency(%q<sshkey>, ["~> 1.6"])
109
+ s.add_runtime_dependency(%q<childprocess>, ["~> 0.5.0"])
110
+ s.add_runtime_dependency(%q<celluloid>, ["~> 0.15"])
108
111
  s.add_runtime_dependency(%q<grit>, ["~> 2.5"])
109
112
  s.add_runtime_dependency(%q<octokit>, ["~> 2.7"])
110
- s.add_runtime_dependency(%q<celluloid>, ["~> 0.15"])
111
113
  s.add_development_dependency(%q<bundler>, ["~> 1.2"])
112
114
  s.add_development_dependency(%q<jeweler>, ["~> 2.0"])
113
115
  s.add_development_dependency(%q<rspec>, ["~> 2.10"])
@@ -116,13 +118,14 @@ Gem::Specification.new do |s|
116
118
  else
117
119
  s.add_dependency(%q<log4r>, ["~> 1.1"])
118
120
  s.add_dependency(%q<i18n>, ["~> 0.6"])
119
- s.add_dependency(%q<rgen>, ["~> 0.6"])
120
121
  s.add_dependency(%q<netrc>, ["~> 0.7"])
121
122
  s.add_dependency(%q<deep_merge>, ["~> 1.0"])
122
123
  s.add_dependency(%q<multi_json>, ["~> 1.7"])
124
+ s.add_dependency(%q<sshkey>, ["~> 1.6"])
125
+ s.add_dependency(%q<childprocess>, ["~> 0.5.0"])
126
+ s.add_dependency(%q<celluloid>, ["~> 0.15"])
123
127
  s.add_dependency(%q<grit>, ["~> 2.5"])
124
128
  s.add_dependency(%q<octokit>, ["~> 2.7"])
125
- s.add_dependency(%q<celluloid>, ["~> 0.15"])
126
129
  s.add_dependency(%q<bundler>, ["~> 1.2"])
127
130
  s.add_dependency(%q<jeweler>, ["~> 2.0"])
128
131
  s.add_dependency(%q<rspec>, ["~> 2.10"])
@@ -132,13 +135,14 @@ Gem::Specification.new do |s|
132
135
  else
133
136
  s.add_dependency(%q<log4r>, ["~> 1.1"])
134
137
  s.add_dependency(%q<i18n>, ["~> 0.6"])
135
- s.add_dependency(%q<rgen>, ["~> 0.6"])
136
138
  s.add_dependency(%q<netrc>, ["~> 0.7"])
137
139
  s.add_dependency(%q<deep_merge>, ["~> 1.0"])
138
140
  s.add_dependency(%q<multi_json>, ["~> 1.7"])
141
+ s.add_dependency(%q<sshkey>, ["~> 1.6"])
142
+ s.add_dependency(%q<childprocess>, ["~> 0.5.0"])
143
+ s.add_dependency(%q<celluloid>, ["~> 0.15"])
139
144
  s.add_dependency(%q<grit>, ["~> 2.5"])
140
145
  s.add_dependency(%q<octokit>, ["~> 2.7"])
141
- s.add_dependency(%q<celluloid>, ["~> 0.15"])
142
146
  s.add_dependency(%q<bundler>, ["~> 1.2"])
143
147
  s.add_dependency(%q<jeweler>, ["~> 2.0"])
144
148
  s.add_dependency(%q<rspec>, ["~> 2.10"])
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.3
4
+ version: 0.1.4
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-23 00:00:00.000000000 Z
12
+ date: 2014-03-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: log4r
16
- requirement: &10355000 !ruby/object:Gem::Requirement
16
+ requirement: &17443440 !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: *10355000
24
+ version_requirements: *17443440
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: i18n
27
- requirement: &10354460 !ruby/object:Gem::Requirement
27
+ requirement: &17442440 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,21 +32,10 @@ dependencies:
32
32
  version: '0.6'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *10354460
36
- - !ruby/object:Gem::Dependency
37
- name: rgen
38
- requirement: &10353920 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - ~>
42
- - !ruby/object:Gem::Version
43
- version: '0.6'
44
- type: :runtime
45
- prerelease: false
46
- version_requirements: *10353920
35
+ version_requirements: *17442440
47
36
  - !ruby/object:Gem::Dependency
48
37
  name: netrc
49
- requirement: &10352980 !ruby/object:Gem::Requirement
38
+ requirement: &17441440 !ruby/object:Gem::Requirement
50
39
  none: false
51
40
  requirements:
52
41
  - - ~>
@@ -54,10 +43,10 @@ dependencies:
54
43
  version: '0.7'
55
44
  type: :runtime
56
45
  prerelease: false
57
- version_requirements: *10352980
46
+ version_requirements: *17441440
58
47
  - !ruby/object:Gem::Dependency
59
48
  name: deep_merge
60
- requirement: &10352060 !ruby/object:Gem::Requirement
49
+ requirement: &17440400 !ruby/object:Gem::Requirement
61
50
  none: false
62
51
  requirements:
63
52
  - - ~>
@@ -65,10 +54,10 @@ dependencies:
65
54
  version: '1.0'
66
55
  type: :runtime
67
56
  prerelease: false
68
- version_requirements: *10352060
57
+ version_requirements: *17440400
69
58
  - !ruby/object:Gem::Dependency
70
59
  name: multi_json
71
- requirement: &10351340 !ruby/object:Gem::Requirement
60
+ requirement: &17439420 !ruby/object:Gem::Requirement
72
61
  none: false
73
62
  requirements:
74
63
  - - ~>
@@ -76,32 +65,32 @@ dependencies:
76
65
  version: '1.7'
77
66
  type: :runtime
78
67
  prerelease: false
79
- version_requirements: *10351340
68
+ version_requirements: *17439420
80
69
  - !ruby/object:Gem::Dependency
81
- name: grit
82
- requirement: &10350380 !ruby/object:Gem::Requirement
70
+ name: sshkey
71
+ requirement: &17438100 !ruby/object:Gem::Requirement
83
72
  none: false
84
73
  requirements:
85
74
  - - ~>
86
75
  - !ruby/object:Gem::Version
87
- version: '2.5'
76
+ version: '1.6'
88
77
  type: :runtime
89
78
  prerelease: false
90
- version_requirements: *10350380
79
+ version_requirements: *17438100
91
80
  - !ruby/object:Gem::Dependency
92
- name: octokit
93
- requirement: &10349000 !ruby/object:Gem::Requirement
81
+ name: childprocess
82
+ requirement: &17435380 !ruby/object:Gem::Requirement
94
83
  none: false
95
84
  requirements:
96
85
  - - ~>
97
86
  - !ruby/object:Gem::Version
98
- version: '2.7'
87
+ version: 0.5.0
99
88
  type: :runtime
100
89
  prerelease: false
101
- version_requirements: *10349000
90
+ version_requirements: *17435380
102
91
  - !ruby/object:Gem::Dependency
103
92
  name: celluloid
104
- requirement: &10347900 !ruby/object:Gem::Requirement
93
+ requirement: &17432340 !ruby/object:Gem::Requirement
105
94
  none: false
106
95
  requirements:
107
96
  - - ~>
@@ -109,10 +98,32 @@ dependencies:
109
98
  version: '0.15'
110
99
  type: :runtime
111
100
  prerelease: false
112
- version_requirements: *10347900
101
+ version_requirements: *17432340
102
+ - !ruby/object:Gem::Dependency
103
+ name: grit
104
+ requirement: &17431060 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: '2.5'
110
+ type: :runtime
111
+ prerelease: false
112
+ version_requirements: *17431060
113
+ - !ruby/object:Gem::Dependency
114
+ name: octokit
115
+ requirement: &17429200 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ~>
119
+ - !ruby/object:Gem::Version
120
+ version: '2.7'
121
+ type: :runtime
122
+ prerelease: false
123
+ version_requirements: *17429200
113
124
  - !ruby/object:Gem::Dependency
114
125
  name: bundler
115
- requirement: &10347200 !ruby/object:Gem::Requirement
126
+ requirement: &17426380 !ruby/object:Gem::Requirement
116
127
  none: false
117
128
  requirements:
118
129
  - - ~>
@@ -120,10 +131,10 @@ dependencies:
120
131
  version: '1.2'
121
132
  type: :development
122
133
  prerelease: false
123
- version_requirements: *10347200
134
+ version_requirements: *17426380
124
135
  - !ruby/object:Gem::Dependency
125
136
  name: jeweler
126
- requirement: &10345540 !ruby/object:Gem::Requirement
137
+ requirement: &17424440 !ruby/object:Gem::Requirement
127
138
  none: false
128
139
  requirements:
129
140
  - - ~>
@@ -131,10 +142,10 @@ dependencies:
131
142
  version: '2.0'
132
143
  type: :development
133
144
  prerelease: false
134
- version_requirements: *10345540
145
+ version_requirements: *17424440
135
146
  - !ruby/object:Gem::Dependency
136
147
  name: rspec
137
- requirement: &10344120 !ruby/object:Gem::Requirement
148
+ requirement: &17423620 !ruby/object:Gem::Requirement
138
149
  none: false
139
150
  requirements:
140
151
  - - ~>
@@ -142,10 +153,10 @@ dependencies:
142
153
  version: '2.10'
143
154
  type: :development
144
155
  prerelease: false
145
- version_requirements: *10344120
156
+ version_requirements: *17423620
146
157
  - !ruby/object:Gem::Dependency
147
158
  name: rdoc
148
- requirement: &10340380 !ruby/object:Gem::Requirement
159
+ requirement: &17422640 !ruby/object:Gem::Requirement
149
160
  none: false
150
161
  requirements:
151
162
  - - ~>
@@ -153,10 +164,10 @@ dependencies:
153
164
  version: '3.12'
154
165
  type: :development
155
166
  prerelease: false
156
- version_requirements: *10340380
167
+ version_requirements: *17422640
157
168
  - !ruby/object:Gem::Dependency
158
169
  name: yard
159
- requirement: &10339500 !ruby/object:Gem::Requirement
170
+ requirement: &17420960 !ruby/object:Gem::Requirement
160
171
  none: false
161
172
  requirements:
162
173
  - - ~>
@@ -164,7 +175,7 @@ dependencies:
164
175
  version: '0.8'
165
176
  type: :development
166
177
  prerelease: false
167
- version_requirements: *10339500
178
+ version_requirements: *17420960
168
179
  description: ! '
169
180
 
170
181
  A framework that provides a simple foundation for building Ruby applications that
@@ -233,6 +244,7 @@ files:
233
244
  - lib/core/util/logger.rb
234
245
  - lib/core/util/package.rb
235
246
  - lib/core/util/shell.rb
247
+ - lib/core/util/ssh.rb
236
248
  - lib/nucleon.rb
237
249
  - lib/nucleon/action/add.rb
238
250
  - lib/nucleon/action/create.rb