drush-deploy 1.0.0 → 1.0.1.beta1

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/README.md CHANGED
@@ -1,4 +1,4 @@
1
- version 1.0.0
1
+ version 1.0.1.beta1
2
2
 
3
3
  ## DESCRIPTION
4
4
 
data/drush-deploy.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'drush-deploy'
3
- s.version = '1.0.0'
3
+ s.version = '1.0.1.beta1'
4
4
  s.summary = "Deployment strategy for Drupal using Drush"
5
5
  s.description = "Utilizes capistrano to allow for doing intellegent deployments of drupal projects."
6
6
  s.authors = ["Matt Edlefsen"]
@@ -36,6 +36,7 @@ module DrushDeploy
36
36
  @cap_config.load do
37
37
  # Verify existence of required setting
38
38
  if this.valid_target(site)
39
+ logger.info "Loading target #{sitename}"
39
40
  # Setup servername. Use <username>@ and :<port> syntax in servername instead of
40
41
  # :user and ssh_option[:port] to allow for different values per host.
41
42
  servername = site["remote-host"]
@@ -32,33 +32,25 @@ module DrushDeploy
32
32
  end
33
33
 
34
34
  def load_configuration
35
- @aliases = site_aliases
36
- @aliases.each do |name,conf|
37
- if conf['ssh-options']
38
- conf['ssh-options'] = Net::SSH::Config.translate translate_ssh_options(conf['ssh-options'])
39
- end
40
- if conf['roles']
41
- if conf['roles'].is_a? String
42
- conf['roles'] = conf['roles'].split(/ *, */)
43
- end
44
- conf['roles'] = conf['roles'].map{ |r| r.strip.to_sym }
45
- end
46
- if conf['attributes']
47
- # Recursively turn all hash keys into symbols
48
- mapper = lambda do |h|
49
- h.inject({}) {|result,(k,v)| result[k.to_sym] = (v.is_a?(Hash) ? mapper(v) : v); result }
50
- end
51
- conf['attributes'] = mapper.(conf['attributes'])
35
+ @aliases = PHP.unserialize(`#{@drush} eval 'print serialize(_drush_sitealias_all_list());'`).inject({}) do |h,(k,v)|
36
+ if k != '@none'
37
+ h[k.sub(/^@/,'')] = v
52
38
  end
39
+ h
53
40
  end
54
- end
55
-
56
- def site_aliases
57
- PHP.unserialize(`#{@drush} eval 'print serialize(_drush_sitealias_all_list());'`).delete_if {|k,v| k == '@none'}
41
+ @normalized_aliases = {}
58
42
  end
59
43
 
60
44
  def lookup_site(sitename)
61
- @aliases[sitename] || @aliases['@'+sitename]
45
+ sitename = sitename.sub(/^@/,'')
46
+ site = @normalized_aliases[sitename]
47
+ unless site
48
+ site = @aliases[sitename]
49
+ if site
50
+ @normalized_aliases[sitename] = site = normalize_alias site
51
+ end
52
+ end
53
+ site
62
54
  end
63
55
 
64
56
 
@@ -87,7 +79,11 @@ module DrushDeploy
87
79
  when 'p'
88
80
  option_hash["port"] = words.shift
89
81
  when 'o'
90
- option_hash.store(*(words.shift.split(/=/).tap {|opt| opt[0].downcase!}))
82
+ opt = words.shift.split(/=/)
83
+ if opt && opt.size == 2
84
+ opt[0].downcase!
85
+ option_hash.store *opt;
86
+ end
91
87
  end
92
88
  end
93
89
  else
@@ -97,25 +93,25 @@ module DrushDeploy
97
93
  option_hash
98
94
  end
99
95
 
100
- def handle_option(sources,keys)
101
- sources.inject(nil) do |dest,source|
102
- source_val = keys.inject(source) {|h,k| h ? h[k] : nil}
103
- yield dest,source_val
96
+ def normalize_alias(conf)
97
+ conf = conf.dup
98
+ if conf['ssh-options']
99
+ conf['ssh-options'] = Net::SSH::Config.translate translate_ssh_options(conf['ssh-options'])
104
100
  end
105
- end
106
-
107
- def copy_option(dest,sources,keys)
108
- dest_val = handle_option(sources,keys) {|*a| yield *a}
109
- if dest_val
110
- keys.inject(dest).with_index do |h,k,i|
111
- if i+1 == keys.size
112
- h[k] = dest_val
113
- else
114
- h[k] = {} unless h[k]
115
- end
116
- h[k]
101
+ if conf['roles']
102
+ if conf['roles'].is_a? String
103
+ conf['roles'] = conf['roles'].split(/ *, */)
104
+ end
105
+ conf['roles'] = conf['roles'].map{ |r| r.strip.to_sym }
106
+ end
107
+ if conf['attributes']
108
+ # Recursively turn all hash keys into symbols
109
+ mapper = lambda do |h|
110
+ h.inject({}) {|result,(k,v)| result[k.to_sym] = (v.is_a?(Hash) ? mapper(v) : v); result }
117
111
  end
112
+ conf['attributes'] = mapper.(conf['attributes'])
118
113
  end
114
+ conf
119
115
  end
120
116
 
121
117
  end
@@ -20,6 +20,7 @@ set :update_modules, (ENV['UPDATE_MODULES'] =~ true_values) if ENV['UPDATE_MODUL
20
20
  set :target, ENV['TARGET'] if ENV['TARGET']
21
21
  set :source, ENV['SOURCE'] if ENV['SOURCE']
22
22
 
23
+ set :application, 'Drupal'
23
24
  set :deploy_via, :copy
24
25
  set :use_sudo, false
25
26
  set :drush_bin, "drush"
metadata CHANGED
@@ -1,19 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: drush-deploy
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
5
- prerelease:
4
+ version: 1.0.1.beta1
5
+ prerelease: 6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Matt Edlefsen
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-08 00:00:00.000000000 Z
12
+ date: 2012-05-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: capistrano
16
- requirement: &18923900 !ruby/object:Gem::Requirement
16
+ requirement: &23598360 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '2.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *18923900
24
+ version_requirements: *23598360
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: railsless-deploy
27
- requirement: &18922960 !ruby/object:Gem::Requirement
27
+ requirement: &23597580 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.0.2
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *18922960
35
+ version_requirements: *23597580
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: php_serialize
38
- requirement: &18921860 !ruby/object:Gem::Requirement
38
+ requirement: &23596880 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '1.2'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *18921860
46
+ version_requirements: *23596880
47
47
  description: Utilizes capistrano to allow for doing intellegent deployments of drupal
48
48
  projects.
49
49
  email: matt@xforty.com
@@ -88,9 +88,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
88
88
  required_rubygems_version: !ruby/object:Gem::Requirement
89
89
  none: false
90
90
  requirements:
91
- - - ! '>='
91
+ - - ! '>'
92
92
  - !ruby/object:Gem::Version
93
- version: '0'
93
+ version: 1.3.1
94
94
  requirements: []
95
95
  rubyforge_project:
96
96
  rubygems_version: 1.8.10