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.
Files changed (2) hide show
  1. data/lib/capistrano/ext/params.rb +45 -16
  2. 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.0'
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[:required_params].nil? || @options[:required_params].empty?
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[:required_params].join(",")
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 = $parameter_descriptions[param] || "value for #{param}"
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
- puts " options #{task.options}"
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
- #alias_method :original_explain_task, :explain_task
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[:required_params]].flatten.compact.map {|param| " %s=ARG" % [param] },
65
- [task.options[:optional_params]].flatten.compact.map {|param| " [%s=ARG]" % [param] }
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[:required_params]
100
+ if task.options[:required]
72
101
  puts "Required Parameters"
73
- task.options[:required_params].each do |param|
74
- param_desc = $parameter_descriptions[param] || param
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[:optional_params]
107
+ if task.options[:optional]
79
108
  puts "Optional Parameters"
80
- task.options[:optional_params].each do |param|
81
- param_details = $optional_parameter_descriptions[param]
109
+ task.options[:optional].each do |param|
110
+ param_details = $capistrano_ext_params[param]
82
111
  if param_details
83
- param_desc = "#{param_details[:desc]} (default=#{param_details[:default]})"
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.0
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: &11150400 !ruby/object:Gem::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: *11150400
24
+ version_requirements: *14155720
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: capistrano-ext-set-helpers
27
- requirement: &11149740 !ruby/object:Gem::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: *11149740
35
+ version_requirements: *14155140
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: hoe
38
- requirement: &11148980 !ruby/object:Gem::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: *11148980
46
+ version_requirements: *14154500
47
47
  description: ! 'This package adds optional and required params to capistrano.
48
48
 
49
49