gap 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/lib/gap/patch.rb +2 -2
  2. data/lib/gap/tasks.rb +64 -26
  3. data/lib/gap.rb +1 -1
  4. 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) { exec(command) }}
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["task"].each do |app, commands|
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["task"].reverse.each do |app, commands|
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["task"].each do |app,commands|
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["role"].each { |attr, val| role attr.to_sym, val }
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
- if value["god"]
40
- task(app) do
41
- task(:god) do
42
- god_config_path = File.join( deploy_to, "config/god_#{application}_#{app}.rb")
43
- god_config = Gap::GodErb.new("./gap/tmpl.erb",application, app, commands)
44
- upload( god_config.render, god_config_path, :via => :scp)
45
- sudo "god load #{god_config_path}"
46
- end
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
- commands.each do |name, command|
49
- task(name) do
50
- sudo "god #{name} #{app}_#{application}"
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
@@ -2,5 +2,5 @@ $:.unshift(File.dirname(__FILE__)) unless
2
2
  $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
3
3
 
4
4
  module Gap
5
- VERSION = '0.0.7'
5
+ VERSION = '0.0.8'
6
6
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: gap
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.7
5
+ version: 0.0.8
6
6
  platform: ruby
7
7
  authors:
8
8
  - Takashi Yaguchi