yads 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/lib/yads/deployer.rb CHANGED
@@ -26,16 +26,25 @@ module Yads
26
26
 
27
27
  private
28
28
 
29
- def config
30
- @config ||= begin
31
- YAML.load(File.open("config/deploy.yml"))
32
- rescue Errno::ENOENT
33
- raise Yads::ConfigNotFound, "config/deploy.yml not found"
34
- end
29
+ def config
30
+ @config ||= begin
31
+ YAML.load(File.open("config/deploy.yml"))
32
+ rescue Errno::ENOENT
33
+ raise Yads::ConfigNotFound, "config/deploy.yml not found"
35
34
  end
35
+ end
36
+
37
+ def connection
38
+ @connection ||= begin
39
+ options = {
40
+ :host => config["host"],
41
+ :user => config["user"],
42
+ :forward_agent => config["forward_agent"]
43
+ }
44
+ options[:port] = config["port"] if config["port"]
36
45
 
37
- def connection
38
- @connection ||= SSH.new(:host => config["host"], :user => config["user"], :forward_agent => config["forward_agent"])
46
+ SSH.new(options)
39
47
  end
48
+ end
40
49
  end
41
50
  end
data/lib/yads/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Yads
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -0,0 +1,9 @@
1
+ host: rafaelss.com
2
+ port: 2222
3
+ user: deploy
4
+ forward_agent: true
5
+ path: /tmp/yads
6
+ repository: git@repohost.com:myrepo.git
7
+ commands:
8
+ migrate: rake db:migrate
9
+ touch: touch test
@@ -35,6 +35,18 @@ class TestYads < MiniTest::Unit::TestCase
35
35
  end
36
36
  end
37
37
 
38
+ def test_setup_using_non_standard_port
39
+ inside_project_root do
40
+ ssh = mock
41
+ ssh.expects(:execute).with("mkdir -p /tmp/yads && cd /tmp/yads && git clone --depth 1 git@repohost.com:myrepo.git .")
42
+ Yads::SSH.expects(:new).with(:host => "rafaelss.com", :user => "deploy", :forward_agent => true, :port => 2222).returns(ssh)
43
+
44
+ deployer = Yads::Deployer.new(@log_file)
45
+ deployer.stubs(:config => YAML.load(File.open("config/deploy_with_port.yml")).merge("port" => 2222))
46
+ deployer.setup
47
+ end
48
+ end
49
+
38
50
  def test_deploy
39
51
  inside_project_root do
40
52
  ssh = mock
@@ -46,9 +58,21 @@ class TestYads < MiniTest::Unit::TestCase
46
58
  end
47
59
  end
48
60
 
49
- private
61
+ def test_deploy_using_non_standard_port
62
+ inside_project_root do
63
+ ssh = mock
64
+ ssh.expects(:execute).with("cd /tmp/yads && rake db:migrate && touch test")
65
+ Yads::SSH.expects(:new).with(:host => "rafaelss.com", :user => "deploy", :forward_agent => true, :port => 2222).returns(ssh)
50
66
 
51
- def inside_project_root(&block)
52
- Dir.chdir(File.expand_path("../../fixtures", __FILE__), &block)
67
+ deployer = Yads::Deployer.new(@log_file)
68
+ deployer.stubs(:config => YAML.load(File.open("config/deploy_with_port.yml")).merge("port" => 2222))
69
+ deployer.deploy
53
70
  end
71
+ end
72
+
73
+ private
74
+
75
+ def inside_project_root(&block)
76
+ Dir.chdir(File.expand_path("../../fixtures", __FILE__), &block)
77
+ end
54
78
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yads
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-04-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: net-ssh
16
- requirement: &70167770426280 !ruby/object:Gem::Requirement
16
+ requirement: &70191598240660 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 2.1.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70167770426280
24
+ version_requirements: *70191598240660
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: slop
27
- requirement: &70167770425040 !ruby/object:Gem::Requirement
27
+ requirement: &70191598239280 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.5.2
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70167770425040
35
+ version_requirements: *70191598239280
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &70167770423080 !ruby/object:Gem::Requirement
38
+ requirement: &70191598237440 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 0.8.7
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70167770423080
46
+ version_requirements: *70191598237440
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: minitest
49
- requirement: &70167770422200 !ruby/object:Gem::Requirement
49
+ requirement: &70191598236560 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 2.0.2
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70167770422200
57
+ version_requirements: *70191598236560
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: mocha
60
- requirement: &70167770437500 !ruby/object:Gem::Requirement
60
+ requirement: &70191598251880 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: 0.9.10
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70167770437500
68
+ version_requirements: *70191598251880
69
69
  description: Simple deployment tool that uses a single YAML file to put your code
70
70
  live
71
71
  email:
@@ -86,6 +86,7 @@ files:
86
86
  - lib/yads/ssh.rb
87
87
  - lib/yads/version.rb
88
88
  - test/fixtures/config/deploy.yml
89
+ - test/fixtures/config/deploy_with_port.yml
89
90
  - test/test_helper.rb
90
91
  - test/yads/test_deployer.rb
91
92
  - test/yads/test_ssh.rb
@@ -116,6 +117,7 @@ specification_version: 3
116
117
  summary: Deploy your code using a YAML file
117
118
  test_files:
118
119
  - test/fixtures/config/deploy.yml
120
+ - test/fixtures/config/deploy_with_port.yml
119
121
  - test/test_helper.rb
120
122
  - test/yads/test_deployer.rb
121
123
  - test/yads/test_ssh.rb