class FuckingShellScripts::SCP
Constants
- FILENAME
Public Class Methods
new(server, opts)
click to toggle source
# File lib/fucking_shell_scripts/scp.rb, line 5 def initialize(server, opts) @server, @opts = server, opts end
Public Instance Methods
to_server()
click to toggle source
# File lib/fucking_shell_scripts/scp.rb, line 9 def to_server check_executable_permissions create_local_archive scp_files_to_server extract_remote_archive remove_remote_archive remove_local_archive end
Private Instance Methods
check_executable_permissions()
click to toggle source
# File lib/fucking_shell_scripts/scp.rb, line 20 def check_executable_permissions @opts.fetch(:scripts).each do |file| raise FuckingShellScripts::Errors::ScriptNotExecutable , "The script #{file} is not executable." unless File.executable?(file) end end
create_local_archive()
click to toggle source
# File lib/fucking_shell_scripts/scp.rb, line 26 def create_local_archive includes = @opts.fetch(:files){ [] } + @opts.fetch(:scripts) `tar -czf #{FILENAME} #{includes.join(" ")}` end
extract_remote_archive()
click to toggle source
# File lib/fucking_shell_scripts/scp.rb, line 35 def extract_remote_archive @server.ssh("tar -xzf #{FILENAME}") end
remove_local_archive()
click to toggle source
# File lib/fucking_shell_scripts/scp.rb, line 43 def remove_local_archive `rm -f #{FILENAME}` end
remove_remote_archive()
click to toggle source
# File lib/fucking_shell_scripts/scp.rb, line 39 def remove_remote_archive @server.ssh("rm #{FILENAME}") end
scp_files_to_server()
click to toggle source
# File lib/fucking_shell_scripts/scp.rb, line 31 def scp_files_to_server @server.scp(FILENAME, ".") end