capistrano-ext-params 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.
- data/lib/capistrano/ext/params.rb +45 -16
- metadata +7 -7
@@ -1,6 +1,36 @@
|
|
1
|
+
require 'yaml'
|
1
2
|
require 'capistrano'
|
3
|
+
require 'capistrano/ext/set/helpers'
|
4
|
+
|
2
5
|
class CapistranoExtParams
|
3
|
-
VERSION = '0.1.
|
6
|
+
VERSION = '0.1.1'
|
7
|
+
|
8
|
+
def self.with_configuration(&block)
|
9
|
+
Capistrano::Configuration.instance(:must_exist).load(&block)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
$capistrano_ext_params = {}
|
14
|
+
|
15
|
+
CapistranoExtParams.with_configuration do
|
16
|
+
namespace :params do
|
17
|
+
desc "List all known parameters and their options"
|
18
|
+
task :list do
|
19
|
+
puts $capistrano_ext_params.to_yaml
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
module Capistrano
|
25
|
+
class Configuration
|
26
|
+
module Namespaces
|
27
|
+
def desc_param(var,description,opts={})
|
28
|
+
$capistrano_ext_params[var] = {
|
29
|
+
:description => description
|
30
|
+
}.merge(opts)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
4
34
|
end
|
5
35
|
|
6
36
|
module Capistrano
|
@@ -8,9 +38,9 @@ module Capistrano
|
|
8
38
|
alias_method :original_brief_description, :brief_description
|
9
39
|
def brief_description(max_length=nil)
|
10
40
|
brief = original_brief_description(max_length)
|
11
|
-
unless @options.nil? || @options[:
|
41
|
+
unless @options.nil? || @options[:required].nil? || @options[:required].empty?
|
12
42
|
brief << " " * (max_length-brief.length) if max_length > brief.length
|
13
|
-
brief << "requires " + @options[:
|
43
|
+
brief << "requires " + @options[:required].join(",")
|
14
44
|
end
|
15
45
|
brief
|
16
46
|
end
|
@@ -27,7 +57,7 @@ module Capistrano
|
|
27
57
|
|
28
58
|
# Query user for any undefined variables
|
29
59
|
params.each do |param|
|
30
|
-
param_desc = $
|
60
|
+
param_desc = $capistrano_ext_params[param][:description] || "value for #{param}"
|
31
61
|
unless exists?(param)
|
32
62
|
set_ask( param, "#{param} - #{param_desc}: " )
|
33
63
|
end
|
@@ -38,8 +68,7 @@ module Capistrano
|
|
38
68
|
|
39
69
|
alias_method :original_execute_task, :execute_task
|
40
70
|
def execute_task(task)
|
41
|
-
|
42
|
-
ensure_params(task.options[:required_params]) if task.options[:required_params]
|
71
|
+
ensure_params(task.options[:required]) if task.options[:required]
|
43
72
|
original_execute_task(task)
|
44
73
|
end
|
45
74
|
|
@@ -51,7 +80,7 @@ end
|
|
51
80
|
module Capistrano
|
52
81
|
class CLI
|
53
82
|
module Help
|
54
|
-
|
83
|
+
alias_method :original_explain_task, :explain_task
|
55
84
|
|
56
85
|
def explain_task(config,name)
|
57
86
|
|
@@ -61,26 +90,26 @@ module Capistrano
|
|
61
90
|
$recipe,
|
62
91
|
task.fully_qualified_name,
|
63
92
|
[
|
64
|
-
[task.options[:
|
65
|
-
[task.options[:
|
93
|
+
[task.options[:required]].flatten.compact.map {|param| " %s=ARG" % [param] },
|
94
|
+
[task.options[:optional]].flatten.compact.map {|param| " [%s=ARG]" % [param] }
|
66
95
|
].flatten.join()
|
67
96
|
]
|
68
97
|
puts "-"*HEADER_LEN
|
69
98
|
puts format_text(task.description)
|
70
99
|
puts "-"*HEADER_LEN
|
71
|
-
if task.options[:
|
100
|
+
if task.options[:required]
|
72
101
|
puts "Required Parameters"
|
73
|
-
task.options[:
|
74
|
-
param_desc = $
|
102
|
+
task.options[:required].each do |param|
|
103
|
+
param_desc = $capistrano_ext_params[param][:description] || param
|
75
104
|
puts "\t#{param} - #{param_desc}"
|
76
105
|
end
|
77
106
|
end
|
78
|
-
if task.options[:
|
107
|
+
if task.options[:optional]
|
79
108
|
puts "Optional Parameters"
|
80
|
-
task.options[:
|
81
|
-
param_details = $
|
109
|
+
task.options[:optional].each do |param|
|
110
|
+
param_details = $capistrano_ext_params[param]
|
82
111
|
if param_details
|
83
|
-
param_desc = "#{param_details[:
|
112
|
+
param_desc = "#{param_details[:description]} (default=#{param_details[:default]})"
|
84
113
|
else
|
85
114
|
param_desc = param
|
86
115
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-ext-params
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2011-09-06 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: capistrano
|
16
|
-
requirement: &
|
16
|
+
requirement: &14155720 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *14155720
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: capistrano-ext-set-helpers
|
27
|
-
requirement: &
|
27
|
+
requirement: &14155140 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *14155140
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: hoe
|
38
|
-
requirement: &
|
38
|
+
requirement: &14154500 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '2.12'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *14154500
|
47
47
|
description: ! 'This package adds optional and required params to capistrano.
|
48
48
|
|
49
49
|
|