Module: Shuttle::WordpressVip
- Included in:
- Wordpress
- Defined in:
- lib/shuttle/deployment/wordpress/vip.rb
Constant Summary collapse
- VIP_URL =
"https://vip-svn.wordpress.com/plugins/"
Instance Method Summary collapse
- #vip_get_config ⇒ Object
- #vip_install ⇒ Object
-
#vip_installed? ⇒ Boolean
Check if wordpress VIP is installed.
- #vip_link ⇒ Object
-
#vip_path ⇒ String
Get wordpress VIP shared path.
-
#vip_required? ⇒ Boolean
Check if wordpress VIP is required.
-
#vip_update ⇒ Object
Update wordpress VIP.
Instance Method Details
#vip_get_config ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/shuttle/deployment/wordpress/vip.rb', line 56 def vip_get_config data = config.wordpress.vip if data.nil? error "Please add VIP credentials to config." end if !data.user error "VIP user is empty. Please set :user parameter" end if !data.password error "VIP password is empty. Please set :password parameter" end data end |
#vip_install ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/shuttle/deployment/wordpress/vip.rb', line 32 def vip_install log "Installing WordPress VIP" vip = vip_get_config = [ "--username #{vip.user}", "--password #{vip.password}", "--non-interactive", VIP_URL, vip_path ].join(' ') cmd = "svn co #{}" res = ssh.run(cmd, &method(:stream_output)) if res.success? log "WordPress VIP installed" else raise DeployError, "Unable to install WordPress VIP. Reason: #{res.output}" end end |
#vip_installed? ⇒ Boolean
Check if wordpress VIP is installed
19 20 21 |
# File 'lib/shuttle/deployment/wordpress/vip.rb', line 19 def vip_installed? ssh.directory_exists?(vip_path) end |
#vip_link ⇒ Object
73 74 75 76 77 78 79 80 81 82 |
# File 'lib/shuttle/deployment/wordpress/vip.rb', line 73 def vip_link ssh.run("mkdir -p #{release_path}/wp-content/themes/vip") result = ssh.run("cp -a #{vip_path} #{release_path('wp-content/themes/vip/plugins')}") if result.success? log "WordPress VIP is linked" else error "Unable to link VIP: #{result.output}" end end |
#vip_path ⇒ String
Get wordpress VIP shared path
7 8 9 |
# File 'lib/shuttle/deployment/wordpress/vip.rb', line 7 def vip_path @vip_path ||= shared_path('wordpress/vip') end |
#vip_required? ⇒ Boolean
Check if wordpress VIP is required
13 14 15 |
# File 'lib/shuttle/deployment/wordpress/vip.rb', line 13 def vip_required? !config.wordpress.vip.nil? end |
#vip_update ⇒ Object
Update wordpress VIP
24 25 26 27 28 29 30 |
# File 'lib/shuttle/deployment/wordpress/vip.rb', line 24 def vip_update if vip_installed? ssh.run("rm -rf #{vip_path}") end vip_install end |