module Shuttle::WordpressCore

Public Instance Methods

core_install(overwrite=true) click to toggle source

Install wordpress shared core @param [Boolean] overwrite existing code @return [Boolean]

# File lib/shuttle/deployment/wordpress/core.rb, line 19
def core_install(overwrite=true)
  if core_installed? && overwrite == true
    core_remove
  end

  log "Installing WordPress core"

  unless ssh.directory_exists?(core_path)
    ssh.run("mkdir -p #{core_path}")
  end

  cmd = "cd #{core_path} && wp core download"

  if config.wordpress.core
    cmd << " --version=#{config.wordpress.core}"
  end

  result = ssh.run(cmd)

  if result.success?
    log "WordPress core installed"
  else
    error "Unable to install WordPress core: #{result.output}"
  end
end
core_installed?() click to toggle source

Check if wordpress core is installed @return [Boolean]

# File lib/shuttle/deployment/wordpress/core.rb, line 11
def core_installed?
  ssh.directory_exists?(core_path) &&
  !ssh.capture("ls #{core_path}").empty?
end
core_path() click to toggle source

Get wordpress shared core path @return [String]

# File lib/shuttle/deployment/wordpress/core.rb, line 5
def core_path
  @core_path ||= shared_path('wordpress/core')
end
core_remove() click to toggle source

Remove wordpress shared core @return [Boolean]

# File lib/shuttle/deployment/wordpress/core.rb, line 47
def core_remove
  if ssh.directory_exists?(core_path)
    log "Removing WordPress shared core"
    ssh.run("rm -rf #{core_path}")
  end

  ssh.directory_exists?(core_path)
end