class Statistrano::Deployment::Releaser::Single

Attributes

release_name[R]

Public Class Methods

new() click to toggle source
# File lib/statistrano/deployment/releaser/single.rb, line 9
def initialize
  @release_name = Time.now.to_i.to_s
end

Public Instance Methods

create_release(remote, build_data={}) click to toggle source
# File lib/statistrano/deployment/releaser/single.rb, line 13
def create_release remote, build_data={}
  setup remote
  rsync_to_remote remote
end
rsync_to_remote(remote) click to toggle source
# File lib/statistrano/deployment/releaser/single.rb, line 23
def rsync_to_remote remote
  resp = remote.rsync_to_remote local_path(remote), remote_path(remote)
  unless resp.success?
    abort()
  end
end
setup(remote) click to toggle source
# File lib/statistrano/deployment/releaser/single.rb, line 18
def setup remote
  Log.info   "Setting up the remote"
  remote.run "mkdir -p #{remote_path(remote)}"
end

Private Instance Methods

local_path(remote) click to toggle source
# File lib/statistrano/deployment/releaser/single.rb, line 32
def local_path remote
  File.join( Dir.pwd, remote.config.local_dir )
end
remote_path(remote=nil) click to toggle source
# File lib/statistrano/deployment/releaser/single.rb, line 36
def remote_path remote=nil
  if remote.config.respond_to?(:public_dir) && remote.config.public_dir
    return File.join( remote.config.remote_dir, remote.config.public_dir )
  else
    return remote.config.remote_dir
  end
end