yads 0.1.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/bin/yads +2 -1
- data/lib/yads/deployer.rb +25 -0
- data/lib/yads/version.rb +1 -1
- data/test/yads/test_deployer.rb +25 -0
- data/yads.gemspec +4 -4
- metadata +17 -16
data/bin/yads
CHANGED
data/lib/yads/deployer.rb
CHANGED
@@ -24,6 +24,31 @@ module Yads
|
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
+
def method_missing(name, *args)
|
28
|
+
if command_names.include?(name.to_s)
|
29
|
+
commands = ["cd #{config["path"]}", config["commands"][name.to_s]]
|
30
|
+
commands = commands.join(" && ")
|
31
|
+
@logger.puts("> #{commands}")
|
32
|
+
connection.execute(commands) do |output|
|
33
|
+
@logger.print(output)
|
34
|
+
end
|
35
|
+
else
|
36
|
+
super
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def respond_to?(name)
|
41
|
+
if command_names.include?(name.to_s)
|
42
|
+
true
|
43
|
+
else
|
44
|
+
super
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def command_names
|
49
|
+
config["commands"].keys
|
50
|
+
end
|
51
|
+
|
27
52
|
private
|
28
53
|
|
29
54
|
def config
|
data/lib/yads/version.rb
CHANGED
data/test/yads/test_deployer.rb
CHANGED
@@ -70,6 +70,31 @@ class TestYads < MiniTest::Unit::TestCase
|
|
70
70
|
end
|
71
71
|
end
|
72
72
|
|
73
|
+
def test_command_names
|
74
|
+
inside_project_root do
|
75
|
+
deployer = Yads::Deployer.new(@log_file)
|
76
|
+
assert_equal ["migrate", "touch"], deployer.command_names
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
def test_respond_to_command
|
81
|
+
inside_project_root do
|
82
|
+
deployer = Yads::Deployer.new(@log_file)
|
83
|
+
assert deployer.respond_to?(:migrate), "Deployer does not respond to :migrate"
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
def test_execute_the_command
|
88
|
+
inside_project_root do
|
89
|
+
ssh = mock
|
90
|
+
ssh.expects(:execute).with("cd /tmp/yads && rake db:migrate")
|
91
|
+
Yads::SSH.expects(:new).with(:host => "rafaelss.com", :user => "deploy", :forward_agent => true).returns(ssh)
|
92
|
+
|
93
|
+
deployer = Yads::Deployer.new(@log_file)
|
94
|
+
deployer.migrate
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
73
98
|
private
|
74
99
|
|
75
100
|
def inside_project_root(&block)
|
data/yads.gemspec
CHANGED
@@ -17,10 +17,10 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
18
18
|
s.require_paths = ["lib"]
|
19
19
|
|
20
|
-
s.add_runtime_dependency "net-ssh", "~> 2.
|
21
|
-
s.add_runtime_dependency "slop", "~> 1.
|
20
|
+
s.add_runtime_dependency "net-ssh", "~> 2.3.0"
|
21
|
+
s.add_runtime_dependency "slop", "~> 3.1.1"
|
22
22
|
|
23
23
|
s.add_development_dependency "rake", ">= 0.8.7"
|
24
|
-
s.add_development_dependency "minitest", "~> 2.
|
25
|
-
s.add_development_dependency "mocha", "~> 0.
|
24
|
+
s.add_development_dependency "minitest", "~> 2.12.1"
|
25
|
+
s.add_development_dependency "mocha", "~> 0.11.4"
|
26
26
|
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.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,33 +9,33 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-05-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: net-ssh
|
16
|
-
requirement: &
|
16
|
+
requirement: &70142999344600 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 2.
|
21
|
+
version: 2.3.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70142999344600
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: slop
|
27
|
-
requirement: &
|
27
|
+
requirement: &70142999353880 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 1.
|
32
|
+
version: 3.1.1
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70142999353880
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake
|
38
|
-
requirement: &
|
38
|
+
requirement: &70142999352620 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,29 +43,29 @@ dependencies:
|
|
43
43
|
version: 0.8.7
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70142999352620
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: minitest
|
49
|
-
requirement: &
|
49
|
+
requirement: &70142999351400 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 2.
|
54
|
+
version: 2.12.1
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70142999351400
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: mocha
|
60
|
-
requirement: &
|
60
|
+
requirement: &70142999364060 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
64
64
|
- !ruby/object:Gem::Version
|
65
|
-
version: 0.
|
65
|
+
version: 0.11.4
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70142999364060
|
69
69
|
description: Simple deployment tool that uses a single YAML file to put your code
|
70
70
|
live
|
71
71
|
email:
|
@@ -121,3 +121,4 @@ test_files:
|
|
121
121
|
- test/test_helper.rb
|
122
122
|
- test/yads/test_deployer.rb
|
123
123
|
- test/yads/test_ssh.rb
|
124
|
+
has_rdoc:
|