capistrano_ssh 0.2.1 → 0.3.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.
@@ -0,0 +1,24 @@
1
+ # Changelog
2
+
3
+ ## v0.3.0
4
+
5
+ * rescipe refectoring
6
+ * tests
7
+ * version file
8
+
9
+ ## v0.2.1
10
+
11
+ * fix a naming bug
12
+
13
+ ## v0.2.0
14
+
15
+ * VERSION Constant
16
+ * move recipe
17
+
18
+ ## v0.1.1
19
+
20
+ * add Capistrano to dependencies
21
+
22
+ ## v0.1.0
23
+
24
+ * first version
data/Capfile ADDED
@@ -0,0 +1 @@
1
+ require "./lib/capistrano_ssh/recipes"
data/Gemfile CHANGED
@@ -2,3 +2,5 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in capistrano_ssh.gemspec
4
4
  gemspec
5
+
6
+ gem "capistrano-spec", :github => "timoschilling/capistrano-spec"
data/README.md CHANGED
@@ -16,6 +16,10 @@ Or install it yourself as:
16
16
 
17
17
  $ gem install capistrano_ssh
18
18
 
19
+ Require it in your Capfile or deploy.rb:
20
+
21
+ require "capistrano_ssh/recipes"
22
+
19
23
  ## Usage
20
24
 
21
25
  $ cap ssh
data/Rakefile CHANGED
@@ -1 +1,26 @@
1
1
  require "bundler/gem_tasks"
2
+
3
+ require "rspec"
4
+ require "rspec/core/rake_task"
5
+
6
+ RSpec::Core::RakeTask.new("test:spec") do |spec|
7
+ spec.pattern = "spec/**/*_spec.rb"
8
+ end
9
+
10
+ namespace :test do
11
+ desc "Run integration test"
12
+ task :integration do
13
+ puts
14
+ puts "Start integration test"
15
+ unless `cap -T` =~ /cap\ ssh/
16
+ puts "Integration test fails!"
17
+ exit!
18
+ else
19
+ puts "Integration test successfully!"
20
+ end
21
+ end
22
+ end
23
+
24
+ desc "Run integration tests and specs"
25
+ task :test => ["test:spec", "test:integration"]
26
+ task :default => :test
@@ -20,4 +20,6 @@ Gem::Specification.new do |gem|
20
20
  gem.add_dependency "capistrano", "~> 2"
21
21
 
22
22
  gem.add_development_dependency "rake"
23
+ gem.add_development_dependency "rspec"
24
+ gem.add_development_dependency "capistrano-spec"
23
25
  end
@@ -1,3 +1 @@
1
- module CapistranoSSH
2
- VERSION = "0.2.1"
3
- end
1
+ require "capistrano_ssh/version"
@@ -1,9 +1,19 @@
1
1
  require "capistrano/configuration"
2
2
 
3
- Capistrano::Configuration.instance(:must_exist).load do
4
- desc "Open a ssh connection to one of the remote servers"
5
- task :ssh, :roles => :app do
6
- hostname = find_servers_for_task(current_task).first
7
- exec "ssh -l #{user} #{hostname} -p #{port} -t 'cd #{current_path} && bash'"
3
+ module CapistranoSSH
4
+ module Recipes
5
+ def self.load_into(configuration)
6
+ configuration.load do
7
+ desc "Open a ssh connection to one of the remote servers"
8
+ task :ssh, :roles => :app do
9
+ hostname = find_servers_for_task(current_task).first
10
+ run_locally "ssh -l #{user} #{hostname} -p #{port} -t 'cd #{current_path} && bash'"
11
+ end
12
+ end
13
+ end
8
14
  end
9
15
  end
16
+
17
+ if Capistrano::Configuration.instance
18
+ CapistranoSSH::Recipes.load_into(Capistrano::Configuration.instance)
19
+ end
@@ -0,0 +1,3 @@
1
+ module CapistranoSSH
2
+ VERSION = "0.3.0"
3
+ end
@@ -0,0 +1,28 @@
1
+ require "spec_helper"
2
+
3
+ describe CapistranoSSH::Recipes, "loaded into a configuration" do
4
+ describe "ssh" do
5
+ before do
6
+ [:rails_env, :user, :current_path].each do |key|
7
+ configuration.set key, "#{key}"
8
+ end
9
+ configuration.set :port, 22
10
+ configuration.role :app, "example.com"
11
+ end
12
+
13
+ let :configuration do
14
+ configuration = Capistrano::Configuration.new
15
+ described_class.load_into configuration
16
+ configuration.extend Capistrano::Spec::ConfigurationExtension
17
+ end
18
+
19
+ it "defines rails:console" do
20
+ configuration.find_task("ssh").should_not be_nil
21
+ end
22
+
23
+ it "should run the remote command" do
24
+ configuration.find_and_execute_task "ssh"
25
+ configuration.should have_run_locally "ssh -l user example.com -p 22 -t 'cd current_path && bash'"
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,11 @@
1
+ require "rspec"
2
+ require "capistrano"
3
+ require "capistrano-spec"
4
+ require "capistrano_ssh/recipes"
5
+
6
+ RSpec.configure do |config|
7
+ config.include Capistrano::Spec::Matchers
8
+ config.include Capistrano::Spec::Helpers
9
+ config.filter_run :focus => true
10
+ config.run_all_when_everything_filtered = true
11
+ end
metadata CHANGED
@@ -1,48 +1,80 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano_ssh
3
3
  version: !ruby/object:Gem::Version
4
+ version: 0.3.0
4
5
  prerelease:
5
- version: 0.2.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - Timo Schilling
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-18 00:00:00.000000000 Z
12
+ date: 2013-01-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- version_requirements: !ruby/object:Gem::Requirement
15
+ name: capistrano
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ~>
18
20
  - !ruby/object:Gem::Version
19
21
  version: '2'
20
- none: false
22
+ type: :runtime
21
23
  prerelease: false
22
- name: capistrano
23
- requirement: !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
24
26
  requirements:
25
27
  - - ~>
26
28
  - !ruby/object:Gem::Version
27
29
  version: '2'
28
- none: false
29
- type: :runtime
30
30
  - !ruby/object:Gem::Dependency
31
+ name: rake
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
31
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
32
42
  requirements:
33
43
  - - ! '>='
34
44
  - !ruby/object:Gem::Version
35
45
  version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rspec
48
+ requirement: !ruby/object:Gem::Requirement
36
49
  none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
37
55
  prerelease: false
38
- name: rake
39
- requirement: !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
40
58
  requirements:
41
59
  - - ! '>='
42
60
  - !ruby/object:Gem::Version
43
61
  version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: capistrano-spec
64
+ requirement: !ruby/object:Gem::Requirement
44
65
  none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
45
70
  type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
46
78
  description: Open a ssh connection to one of the app servers.
47
79
  email:
48
80
  - timo@schilling.io
@@ -51,6 +83,8 @@ extensions: []
51
83
  extra_rdoc_files: []
52
84
  files:
53
85
  - .gitignore
86
+ - CHANGELOG.md
87
+ - Capfile
54
88
  - Gemfile
55
89
  - LICENSE.txt
56
90
  - README.md
@@ -58,6 +92,9 @@ files:
58
92
  - capistrano_ssh.gemspec
59
93
  - lib/capistrano_ssh.rb
60
94
  - lib/capistrano_ssh/recipes.rb
95
+ - lib/capistrano_ssh/version.rb
96
+ - spec/recipes_spec.rb
97
+ - spec/spec_helper.rb
61
98
  homepage: http://github.com/timoschilling/capistrano_ssh
62
99
  licenses: []
63
100
  post_install_message:
@@ -65,27 +102,29 @@ rdoc_options: []
65
102
  require_paths:
66
103
  - lib
67
104
  required_ruby_version: !ruby/object:Gem::Requirement
105
+ none: false
68
106
  requirements:
69
107
  - - ! '>='
70
108
  - !ruby/object:Gem::Version
71
109
  version: '0'
72
110
  segments:
73
111
  - 0
74
- hash: 3736103774162954711
75
- none: false
112
+ hash: 4065223770471092379
76
113
  required_rubygems_version: !ruby/object:Gem::Requirement
114
+ none: false
77
115
  requirements:
78
116
  - - ! '>='
79
117
  - !ruby/object:Gem::Version
80
118
  version: '0'
81
119
  segments:
82
120
  - 0
83
- hash: 3736103774162954711
84
- none: false
121
+ hash: 4065223770471092379
85
122
  requirements: []
86
123
  rubyforge_project:
87
124
  rubygems_version: 1.8.24
88
125
  signing_key:
89
126
  specification_version: 3
90
127
  summary: Open a ssh connection to one of the app servers.
91
- test_files: []
128
+ test_files:
129
+ - spec/recipes_spec.rb
130
+ - spec/spec_helper.rb