class Vana::Element::Copy
copy element
Public Instance Methods
action(host, *_args)
click to toggle source
# File lib/vana/element/copy.rb, line 38 def action(host, *_args) if host == 'localhost' begin FileUtils.cp_r(@opts[:src], @opts[:dest], preserve: @opts[:preserve_time]) success = true rescue Errno::ENOENT success = false end { src: @opts[:src], dest: @opts[:dest], success: success } elsif @opts[:remote_src] # TODO else begin Net::SCP.start(host, nil) do |scp| scp.upload!(@opts[:src], @opts[:dest], recursive: true, preserve: @opts[:preserve_time]) end success = true rescue Net::SCP::Error success = false end { src: @opts[:src], dest: @opts[:dest], success: success } end end
dest=(dest)
click to toggle source
# File lib/vana/element/copy.rb, line 26 def dest=(dest) @opts[:dest] = dest end
preserve_time=(preserve_time)
click to toggle source
# File lib/vana/element/copy.rb, line 34 def preserve_time=(preserve_time) @opts[:preserve_time] = preserve_time end
remote_src=(remote_src)
click to toggle source
# File lib/vana/element/copy.rb, line 30 def remote_src=(remote_src) @opts[:remote_src] = remote_src end
setup(*args)
click to toggle source
# File lib/vana/element/copy.rb, line 15 def setup(*args) @opts[:src] ||= args[0] @opts[:dest] ||= args[1] @element_opts[:name] ||= "copy #{@opts[:src]} to #{@opts[:dest]}" end
src=(src)
click to toggle source
# File lib/vana/element/copy.rb, line 22 def src=(src) @opts[:src] = src end