capricorn 0.2.22 → 0.2.23

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,27 +5,27 @@ module Capricorn
5
5
 
6
6
  class Engines < Thor
7
7
  desc 'install DOMAIN NAME', 'install an engine'
8
- method_options :version => :required, :lib => :optional, :source => :optional, :token => :optional
8
+ method_options :version => :required, :lib => :optional, :source => :optional, :token => :optional, :immediate => :boolean
9
9
  def install(domain, name)
10
10
  desc = { :version => options[:version] }
11
11
  desc[:lib] = options[:lib] if options[:lib]
12
12
  desc[:source] = options[:source] if options[:source]
13
- Capricorn.client(options[:token]).install_engine(domain, name, desc)
13
+ Capricorn.client(options[:token]).install_engine(domain, name, desc, options[:immediate])
14
14
  end
15
15
 
16
16
  desc 'update DOMAIN NAME', 'update an engine'
17
- method_options :version => :required, :lib => :optional, :source => :optional, :token => :optional
17
+ method_options :version => :required, :lib => :optional, :source => :optional, :token => :optional, :immediate => :boolean
18
18
  def update(domain, name)
19
19
  desc = { :version => options[:version] }
20
20
  desc[:lib] = options[:lib] if options[:lib]
21
21
  desc[:source] = options[:source] if options[:source]
22
- Capricorn.client(options[:token]).update_engine(domain, name, desc)
22
+ Capricorn.client(options[:token]).update_engine(domain, name, desc, options[:immediate])
23
23
  end
24
24
 
25
25
  desc 'uninstall DOMAIN NAME', 'uninstall an engine'
26
- method_options :token => :optional
26
+ method_options :token => :optional, :immediate => :boolean
27
27
  def uninstall(domain, name)
28
- Capricorn.client(options[:token]).uninstall_engine(domain, name)
28
+ Capricorn.client(options[:token]).uninstall_engine(domain, name, options[:immediate])
29
29
  end
30
30
  end
31
31
 
@@ -8,10 +8,17 @@ module Capricorn
8
8
  method_options :token => :optional
9
9
  def list(domain=nil)
10
10
  satellites = Capricorn.client(options[:token]).satellites.dup
11
- satellites.sort! { |a,b| a.domain <=> b.domain }
11
+
12
+ names_by_index = []
12
13
  satellites.size.times do |i|
13
14
  sat = satellites[i]
14
- if domain.nil? or domain == sat.domain
15
+ names_by_index.push([sat.domain, i])
16
+ end
17
+ names_by_index.sort! { |a,b| a.first <=> b.first }
18
+
19
+ names_by_index.each do |(domain, i)|
20
+ sat = satellites[i]
21
+ if domain.nil? or sat.domain.include?(domain)
15
22
  puts [
16
23
  sat.domain,
17
24
  (sat.development ? ['development:', sat.module_name] : [])
@@ -27,31 +34,31 @@ module Capricorn
27
34
  end
28
35
 
29
36
  desc 'install DOMAIN', 'install a satellite'
30
- method_options :token => :optional
37
+ method_options :token => :optional, :immediate => :boolean
31
38
  def install(domain)
32
- Capricorn.client(options[:token]).install_satellite(domain)
39
+ Capricorn.client(options[:token]).install_satellite(domain, options[:immediate])
33
40
  end
34
41
 
35
42
  desc 'uninstall DOMAIN', 'uninstall a satellite'
36
- method_options :token => :optional
43
+ method_options :token => :optional, :immediate => :boolean
37
44
  def uninstall(domain)
38
- Capricorn.client(options[:token]).uninstall_satellite(domain)
45
+ Capricorn.client(options[:token]).uninstall_satellite(domain, options[:immediate])
39
46
  end
40
47
 
41
48
  desc 'relink DOMAIN', 'relink a satellite'
42
- method_options :token => :optional
49
+ method_options :token => :optional, :immediate => :boolean
43
50
  def relink(domain)
44
- Capricorn.client(options[:token]).relink_satellite(domain)
51
+ Capricorn.client(options[:token]).relink_satellite(domain, options[:immediate])
45
52
  end
46
53
 
47
54
  desc 'update DOMAIN', 'update the installed engines of a satellite'
48
- method_options :token => :optional
55
+ method_options :token => :optional, :immediate => :boolean
49
56
  def update(domain)
50
- Capricorn.client(options[:token]).update_satellite(domain)
57
+ Capricorn.client(options[:token]).update_satellite(domain, options[:immediate])
51
58
  end
52
59
 
53
60
  # desc 'upgrade DOMAIN', 'upgrade/rebuild the rails app of a satellite'
54
- # method_options :token => :optional
61
+ # method_options :token => :optional, :immediate => :boolean
55
62
  # def upgrade(domain)
56
63
  # Capricorn.client(options[:token]).upgrade_satellite(domain)
57
64
  # end
@@ -35,6 +35,9 @@ module Capricorn
35
35
  @next_id += 1
36
36
  @jobs[job.id] = job
37
37
  @job_queue.push job.id
38
+ if options[:immediate]
39
+ @immediated_jobs.push(id)
40
+ end
38
41
  return job.id
39
42
  end
40
43
  end
@@ -14,6 +14,8 @@ module Capricorn
14
14
 
15
15
  def update_all_engines
16
16
  @engines.each do |gem_name,options|
17
+ Capricorn.system.gem_update(gem_name)
18
+
17
19
  dep = Gem::Dependency.new(gem_name.to_s, Gem::Requirement.default)
18
20
  specs = Gem::SourceIndex.from_installed_gems.search(dep)
19
21
 
@@ -52,32 +52,32 @@ module Capricorn
52
52
  Capricorn.system.gem_update(:all)
53
53
  end
54
54
 
55
- def install_satellite(domain)
56
- Capricorn.system.install_satellite(domain)
55
+ def install_satellite(domain, immediate)
56
+ Capricorn.system.install_satellite(domain, immediate)
57
57
  end
58
58
 
59
- def relink_satellite(domain)
59
+ def relink_satellite(domain, immediate)
60
60
  satellite = Capricorn.system.find_satellite(domain)
61
61
  if satellite
62
- Capricorn.system.relink_satellite(satellite)
62
+ Capricorn.system.relink_satellite(satellite, immediate)
63
63
  else
64
64
  Capricorn.log "Satellite not found (#{domain})"
65
65
  end
66
66
  end
67
67
 
68
- def update_satellite(domain)
68
+ def update_satellite(domain, immediate)
69
69
  satellite = Capricorn.system.find_satellite(domain)
70
70
  if satellite
71
- Capricorn.system.update_satellite(satellite)
71
+ Capricorn.system.update_satellite(satellite, immediate)
72
72
  else
73
73
  Capricorn.log "Satellite not found (#{domain})"
74
74
  end
75
75
  end
76
76
 
77
- def uninstall_satellite(domain)
77
+ def uninstall_satellite(domain, immediate)
78
78
  satellite = Capricorn.system.find_satellite(domain)
79
79
  if satellite
80
- Capricorn.system.uninstall_satellite(satellite)
80
+ Capricorn.system.uninstall_satellite(satellite, immediate)
81
81
  else
82
82
  Capricorn.log "Satellite not found (#{domain})"
83
83
  end
@@ -92,28 +92,28 @@ module Capricorn
92
92
  end
93
93
  end
94
94
 
95
- def install_engine(domain, name, options={})
95
+ def install_engine(domain, name, options, immediate)
96
96
  satellite = Capricorn.system.find_satellite(domain)
97
97
  if satellite
98
- Capricorn.system.install_engine(satellite, name, options)
98
+ Capricorn.system.install_engine(satellite, name, options, immediate)
99
99
  else
100
100
  Capricorn.log "Satellite not found (#{domain})"
101
101
  end
102
102
  end
103
103
 
104
- def update_engine(domain, name, options={})
104
+ def update_engine(domain, name, options, immediate)
105
105
  satellite = Capricorn.system.find_satellite(domain)
106
106
  if satellite
107
- Capricorn.system.update_engine(satellite, name, options)
107
+ Capricorn.system.update_engine(satellite, name, options, immediate)
108
108
  else
109
109
  Capricorn.log "Satellite not found (#{domain})"
110
110
  end
111
111
  end
112
112
 
113
- def uninstall_engine(domain, name)
113
+ def uninstall_engine(domain, name, immediate)
114
114
  satellite = Capricorn.system.find_satellite(domain)
115
115
  if satellite
116
- Capricorn.system.uninstall_engine(satellite, name)
116
+ Capricorn.system.uninstall_engine(satellite, name, immediate)
117
117
  else
118
118
  Capricorn.log "Satellite not found (#{domain})"
119
119
  end
@@ -67,8 +67,8 @@ module Capricorn
67
67
  File.join(@root, *args)
68
68
  end
69
69
 
70
- def install_satellite(domain)
71
- self.queue.enqueue("install new satellite #{domain}", :domain => domain) do |options|
70
+ def install_satellite(domain, immediate)
71
+ self.queue.enqueue("install new satellite #{domain}", :domain => domain, :immediate => immediate) do |options|
72
72
  satellite = Capricorn::Satellite.new(options[:domain])
73
73
 
74
74
  run_action_on :install_satellite, satellite
@@ -77,8 +77,8 @@ module Capricorn
77
77
  end
78
78
  end
79
79
 
80
- def relink_satellite(satellite)
81
- self.queue.enqueue("relink #{satellite.domain}", :satellite => satellite) do |options|
80
+ def relink_satellite(satellite, immediate)
81
+ self.queue.enqueue("relink #{satellite.domain}", :satellite => satellite, :immediate => immediate) do |options|
82
82
  satellite = options[:satellite]
83
83
 
84
84
  if satellite
@@ -88,9 +88,9 @@ module Capricorn
88
88
  end
89
89
  end
90
90
 
91
- def update_satellite(satellite)
91
+ def update_satellite(satellite, immediate)
92
92
  if satellite
93
- self.queue.enqueue("update #{satellite.domain}", :satellite => satellite) do |options|
93
+ self.queue.enqueue("update #{satellite.domain}", :satellite => satellite, :immediate => immediate) do |options|
94
94
 
95
95
  satellite = options[:satellite]
96
96
  if satellite.update_all_engines
@@ -105,9 +105,9 @@ module Capricorn
105
105
  end
106
106
  end
107
107
 
108
- def uninstall_satellite(satellite)
108
+ def uninstall_satellite(satellite, immediate)
109
109
  if satellite
110
- self.queue.enqueue("uninstall #{satellite.domain}", :satellite => satellite) do |options|
110
+ self.queue.enqueue("uninstall #{satellite.domain}", :satellite => satellite, :immediate => immediate) do |options|
111
111
  run_action_on :uninstall_satellite, options[:satellite]
112
112
  destroy_satellite! options[:satellite]
113
113
  end
@@ -147,10 +147,10 @@ module Capricorn
147
147
  end
148
148
  end
149
149
 
150
- def install_engine(satellite, name, options={})
150
+ def install_engine(satellite, name, options, immediate)
151
151
  if satellite
152
152
  self.queue.enqueue("install #{satellite.domain}: #{name} #{options.inspect}",
153
- :satellite => satellite, :name => name, :options => options) do |options|
153
+ :satellite => satellite, :name => name, :options => options, :immediate => immediate) do |options|
154
154
 
155
155
  satellite, name, options = options[:satellite], options[:name], options[:options]
156
156
  resolve_options_with(satellite) { ensure_presence_of_gem(name, options) }
@@ -166,10 +166,10 @@ module Capricorn
166
166
  end
167
167
  end
168
168
 
169
- def update_engine(satellite, name, options={})
169
+ def update_engine(satellite, name, options, immediate)
170
170
  if satellite
171
171
  self.queue.enqueue("update #{satellite.domain}: #{name} #{options.inspect}",
172
- :satellite => satellite, :name => name, :options => options) do |options|
172
+ :satellite => satellite, :name => name, :options => options, :immediate => immediate) do |options|
173
173
 
174
174
  satellite, name, options = options[:satellite], options[:name], options[:options]
175
175
  resolve_options_with(satellite) { ensure_presence_of_gem(name, options) }
@@ -185,10 +185,10 @@ module Capricorn
185
185
  end
186
186
  end
187
187
 
188
- def uninstall_engine(satellite, name)
188
+ def uninstall_engine(satellite, name, immediate)
189
189
  if satellite
190
190
  self.queue.enqueue("uninstall #{satellite.domain}: #{name}",
191
- :satellite => satellite, :name => name) do |options|
191
+ :satellite => satellite, :name => name, :immediate => immediate) do |options|
192
192
 
193
193
  satellite, name = options[:satellite], options[:name]
194
194
  if satellite.remove_engine(name)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capricorn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.22
4
+ version: 0.2.23
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon Menke