gap 0.0.7 → 0.0.8
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.
- data/lib/gap/patch.rb +2 -2
- data/lib/gap/tasks.rb +64 -26
- data/lib/gap.rb +1 -1
- metadata +1 -1
data/lib/gap/patch.rb
CHANGED
@@ -54,14 +54,14 @@ module Capistrano
|
|
54
54
|
value["task"].each do |app, commands|
|
55
55
|
task(app) do
|
56
56
|
commands.each { |name, command|
|
57
|
-
task(name) {
|
57
|
+
task(name) { system(command) }}
|
58
58
|
end
|
59
59
|
end
|
60
60
|
end
|
61
61
|
else
|
62
62
|
task(env) do
|
63
|
-
define_bulk_tasks value
|
64
63
|
define_config_tasks value
|
64
|
+
define_bulk_tasks value
|
65
65
|
end
|
66
66
|
end
|
67
67
|
|
data/lib/gap/tasks.rb
CHANGED
@@ -2,19 +2,20 @@ module Gap
|
|
2
2
|
module Tasks
|
3
3
|
def define_bulk_tasks value
|
4
4
|
#gap dev start,restart,god
|
5
|
+
%w(role set task).each {|key| value.delete(key)}
|
5
6
|
%w(start reload).each do |com|
|
6
7
|
task(com) do
|
7
|
-
value
|
8
|
+
value.each do |app, commands|
|
8
9
|
send(app)
|
9
|
-
send(com) if commands[com]
|
10
|
+
send(com) if commands["task"][com]
|
10
11
|
end
|
11
12
|
end
|
12
13
|
end
|
13
14
|
|
14
15
|
task(:stop) do
|
15
|
-
value
|
16
|
+
value.reverse.each do |app, commands|
|
16
17
|
send(app)
|
17
|
-
send(commands["stop"])
|
18
|
+
send(commands["task"]["stop"])
|
18
19
|
end
|
19
20
|
end
|
20
21
|
|
@@ -24,7 +25,7 @@ module Gap
|
|
24
25
|
end
|
25
26
|
|
26
27
|
task(:god) do
|
27
|
-
value
|
28
|
+
value.each do |app,commands|
|
28
29
|
send(app)
|
29
30
|
send(:god)
|
30
31
|
end
|
@@ -32,34 +33,71 @@ module Gap
|
|
32
33
|
end
|
33
34
|
|
34
35
|
def define_config_tasks value
|
35
|
-
value
|
36
|
-
#value["set"].each { |attr, val| set attr, val }
|
37
|
-
value["task"].each do |app, commands|
|
36
|
+
value.each do |attr,val|
|
38
37
|
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
38
|
+
case attr
|
39
|
+
when "role"
|
40
|
+
val.each { |attr, val| role attr.to_sym, val } if val
|
41
|
+
when "set"
|
42
|
+
val.each { |attr, val| set attr, val } if val
|
43
|
+
else
|
44
|
+
|
45
|
+
|
46
|
+
val.each do |a, v|
|
47
|
+
|
48
|
+
case a
|
49
|
+
when "role"
|
50
|
+
v.each { |attr, val| role attr.to_sym, val } if v
|
51
|
+
when "set"
|
52
|
+
v.each { |attr, val| set attr, val } if v
|
53
|
+
when "task"
|
54
|
+
if god
|
55
|
+
task(attr) do
|
56
|
+
task(:god) do
|
57
|
+
god_config_path = File.join( deploy_to, "config/god_#{application}_#{attr}.rb")
|
58
|
+
tmpl_path = File.expand_path 'tmpl.erb', File.dirname(__FILE__)
|
59
|
+
god_config = Gap::GodErb.new(tmpl_path,application, attr, v)
|
60
|
+
upload( god_config.render, god_config_path, :via => :scp)
|
61
|
+
use_god_rvm do
|
62
|
+
sudo "god load #{god_config_path}"
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
v.each do |name, command|
|
67
|
+
if ["start","stop","restart"].include?(name)
|
68
|
+
task(name) do
|
69
|
+
use_god_rvm do
|
70
|
+
sudo "god #{name} #{attr}_#{application}"
|
71
|
+
end
|
72
|
+
end
|
73
|
+
else
|
74
|
+
task(name) do
|
75
|
+
sudo_run command
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
end
|
81
|
+
else
|
47
82
|
|
48
|
-
|
49
|
-
|
50
|
-
|
83
|
+
task(attr) do
|
84
|
+
v.each do |name, command|
|
85
|
+
task(name) { sudo_run command }
|
86
|
+
end
|
87
|
+
end
|
51
88
|
end
|
89
|
+
else
|
52
90
|
end
|
53
91
|
end
|
54
|
-
else
|
55
|
-
|
56
|
-
task(app) do
|
57
|
-
commands.each { |name, command|
|
58
|
-
task(name) { sudo_run command }}
|
59
|
-
end
|
60
|
-
|
61
92
|
end
|
62
93
|
end
|
63
94
|
end
|
95
|
+
|
96
|
+
def use_god_rvm
|
97
|
+
ruby_string_tmp = rvm_ruby_string
|
98
|
+
set :rvm_ruby_string, rvm_god_string
|
99
|
+
yield
|
100
|
+
set :rvm_ruby_string, ruby_string_tmp
|
101
|
+
end
|
64
102
|
end
|
65
103
|
end
|
data/lib/gap.rb
CHANGED