Module: Asset

Extended by:
Asset
Included in:
Asset
Defined in:
lib/capistrano-db-tasks/asset.rb

Instance Method Summary collapse

Instance Method Details

#local_to_remote(cap) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/capistrano-db-tasks/asset.rb', line 17

def local_to_remote(cap)
  servers = Capistrano::Configuration.env.send(:servers)
  server = servers.detect { |s| s.roles.include?(:app) }
  port = server.netssh_options[:port] || 22
  user = server.netssh_options[:user] || server.properties.fetch(:user)
  dirs = [cap.fetch(:assets_dir)].flatten
  local_dirs = [cap.fetch(:local_assets_dir)].flatten

  dirs.each_index do |idx|
    system("rsync -a --del -L -K -vv --progress --rsh='ssh -p #{port}' ./#{dirs[idx]} #{user}@#{server}:#{cap.current_path}/#{local_dirs[idx]}")
  end
end

#remote_to_local(cap) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/capistrano-db-tasks/asset.rb', line 4

def remote_to_local(cap)
  servers = Capistrano::Configuration.env.send(:servers)
  server = servers.detect { |s| s.roles.include?(:app) }
  port = server.netssh_options[:port] || 22
  user = server.netssh_options[:user] || server.properties.fetch(:user)
  dirs = [cap.fetch(:assets_dir)].flatten
  local_dirs = [cap.fetch(:local_assets_dir)].flatten

  dirs.each_index do |idx|
    system("rsync -a --del -L -K -vv --progress --rsh='ssh -p #{port}' #{user}@#{server}:#{cap.current_path}/#{dirs[idx]} #{local_dirs[idx]}")
  end
end

#to_string(cap) ⇒ Object



30
31
32
# File 'lib/capistrano-db-tasks/asset.rb', line 30

def to_string(cap)
  [cap.fetch(:assets_dir)].flatten.join(" ")
end