Sha256: e699f100ae5acd07386edf6d33ac011c2731e6e059654e087198d27aa2cb928e
Contents?: true
Size: 1.47 KB
Versions: 2
Compression:
Stored size: 1.47 KB
Contents
#!/usr/bin/env ruby require 'entangler' require 'optparse' options = {} OptionParser.new do |opts| opts.banner = "Usage:\n entangler master <base_dir> <remote_user>@<remote_host>:<remote_base_dir> [options]\n entangler slave <base_dir> [options]" opts.separator "" opts.separator "Options:" opts.on("-p", "--port PORT", "Overwrite the SSH port (usually 22)", "(doesn't do anything in slave mode)") do |port| options[:port] = port end opts.on_tail("-v", "--version", "Show version number") do |v| puts Entangler::VERSION exit end opts.on_tail("-h", "--help", "Show this message") do puts opts exit end end.parse! mode = ARGV.shift unless mode && ['master', 'slave'].include?(mode) puts "Mode unknown, please read help:\nentangler -h" exit 1 end base_dir = ARGV.shift unless base_dir puts "Missing base directory" exit 1 end if mode == 'master' remote_information = ARGV.shift unless remote_information raise 'Missing remote information' exit 1 end user, rest = remote_information.split('@', 2) host, path = (rest || '').split(':', 2) error = nil error = 'Missing remote user' unless user error = 'Missing remote host' unless host error = 'Missing remote path' unless path unless error.nil? puts error exit 1 end opts = {remote_base_dir: path, remote_user: user, remote_host: host} opts[:remote_port] = options[:port] if options[:port] else opts = {mode: 'slave'} end Entangler.run(base_dir, opts)
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
entangler-0.2.1 | exe/entangler |
entangler-0.2.0 | exe/entangler |