lib/yads.rb in yads-0.0.3.pre2 vs lib/yads.rb in yads-0.1.0
- old
+ new
@@ -1,54 +1,6 @@
-require "net/ssh"
-require "yaml"
-
module Yads
-
class ConfigNotFound < Errno::ENOENT; end
- class Deployer
- def initialize(logger = STDOUT)
- @logger = logger
- end
-
- def deploy
- begin
- config = YAML.load(File.open("config/deploy.yml"))
- rescue Errno::ENOENT
- raise Yads::ConfigNotFound, "config/deploy.yml not found"
- end
-
- Net::SSH.start(config["host"], config["user"], :forward_agent => config["forward_agent"]) do |ssh|
- check_path(ssh, config["path"], config["commands"].delete("clone"))
-
- commands = config["commands"].values.unshift("cd #{config['path']}").join(" && ")
- @logger.puts "> #{commands}"
- @logger.puts
-
- ssh.exec(commands) do |ch, stream, data|
- print data
- end
-
- ssh.loop
- end
- end
-
- def check_path(ssh, path, clone)
- @logger.puts "> cd #{path}/.git"
- ssh.exec("cd #{path}/.git") do |ch, stream, data|
- if stream == :stderr
- @logger.puts "> cd #{path}"
- ssh.exec("mkdir -p #{path}; cd #{path}") do |ch1, stream1, data1|
- @logger.puts "> #{clone}"
- ssh.exec(clone) do |ch1, stream1, data1|
- abort data1 if stream1 == :stderr
-
- @logger.puts "> cd #{path}"
- ssh.exec("cd #{path}")
- end
- end
- end
- end
- ssh.loop
- end
- end
+ autoload :SSH, "yads/ssh"
+ autoload :Deployer, "yads/deployer"
end