capistrano-interactive 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 496fc2ae0c8f29d78ab4ef5e056e5539617b646d
4
- data.tar.gz: 5c5f3dd4ed5a217a0f6e4cb0df1666bbb2e964d4
3
+ metadata.gz: 883996c87061d05bc2199b5220de202381b8c02c
4
+ data.tar.gz: 1e59d44910cf0e15b0fae28c939a6fecda0fb2ca
5
5
  SHA512:
6
- metadata.gz: 4daccbfa98652df1af42f647d873911a4c3c24ad5182396f7b2250e763e876ccea509951e15eff551db969b6f94b6c51c852f051a3b3ec4f99779a2738bf2581
7
- data.tar.gz: 93d95b39436003db892ec564426433ef3fe70fd6d905575e2bcada2f6dd4847905639b9e90cebb371edbf280f00ec18eb3e9a27ff8b9ae8de73deb4cfcf072a4
6
+ metadata.gz: 2c9945665b9604c15f8e1bd4101942c865174cc82d060a6a73d5b7e26ffecebd1896d80f1f441699dbd7d8a671a937c561768e11f11336f7dce085ac3263a55f
7
+ data.tar.gz: 22ee85b3deb1d1747554acd6e99aa0a1974150ce34592e6eb3452e8819f802b69083fe77c3ba23507a2f8b8ca44237fb24906438d26cd0b1cbea942be7cbd453
data/CHANGELOG.md ADDED
@@ -0,0 +1,9 @@
1
+ # Change Log
2
+
3
+ ## Unreleased
4
+
5
+ ## 0.2.0 (2015-11-12)
6
+ ### Changed
7
+ - extracted SSHKit stuff into separate gem (sshkit-interact)
8
+
9
+ ## 0.1.0 (2015-11-11) (Initial release)
data/README.md CHANGED
@@ -9,8 +9,6 @@
9
9
 
10
10
  Interactive command execution for capistrano.
11
11
 
12
- TODO: Delete this and the text above, and describe your gem
13
-
14
12
 
15
13
  ## Installation
16
14
 
@@ -19,8 +19,8 @@ Gem::Specification.new do |spec|
19
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ['lib']
21
21
 
22
- spec.add_dependency 'capistrano', '>= 3.1.0', '< 4.0.0'
23
- spec.add_dependency 'sshkit', '~> 1.7.0'
22
+ spec.add_dependency 'capistrano', '>= 3.1.0', '< 4.0.0'
23
+ spec.add_dependency 'sshkit-interact', '~> 0.1.0'
24
24
 
25
25
  spec.add_development_dependency 'bundler', '~> 1.10'
26
26
  spec.add_development_dependency 'rake', '~> 10.0'
@@ -0,0 +1,6 @@
1
+ namespace :load do
2
+ task :defaults do
3
+ # Change SSHKit backend
4
+ set :sshkit_backend, fetch(:sshkit_backend, SSHKit::Interact::Backend)
5
+ end
6
+ end
@@ -1,5 +1,8 @@
1
+ # Capistrano
1
2
  module Capistrano
3
+ # Interactive
2
4
  module Interactive
3
- VERSION = '0.1.0'
5
+ # Gem version
6
+ VERSION = '0.2.0'
4
7
  end
5
8
  end
@@ -1,5 +1,3 @@
1
- require 'capistrano/interactive/dsl'
2
- require 'capistrano/interactive/backend_hook'
1
+ require 'sshkit/interact'
3
2
 
4
- SSHKit::Backend::Netssh.send(:include, Capistrano::Interactive::BackendHook)
5
- include Capistrano::Interactive::DSL
3
+ load File.expand_path('../task.cap', __FILE__)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-interactive
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Schwab
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-11-11 00:00:00.000000000 Z
11
+ date: 2015-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capistrano
@@ -31,19 +31,19 @@ dependencies:
31
31
  - !ruby/object:Gem::Version
32
32
  version: 4.0.0
33
33
  - !ruby/object:Gem::Dependency
34
- name: sshkit
34
+ name: sshkit-interact
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 1.7.0
39
+ version: 0.1.0
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: 1.7.0
46
+ version: 0.1.0
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -80,6 +80,7 @@ extensions: []
80
80
  extra_rdoc_files: []
81
81
  files:
82
82
  - ".gitignore"
83
+ - CHANGELOG.md
83
84
  - Gemfile
84
85
  - LICENSE.txt
85
86
  - README.md
@@ -88,9 +89,7 @@ files:
88
89
  - bin/setup
89
90
  - capistrano-interactive.gemspec
90
91
  - lib/capistrano/interactive.rb
91
- - lib/capistrano/interactive/backend_hook.rb
92
- - lib/capistrano/interactive/command.rb
93
- - lib/capistrano/interactive/dsl.rb
92
+ - lib/capistrano/interactive/task.cap
94
93
  - lib/capistrano/interactive/version.rb
95
94
  homepage: https://github.com/ydkn/capistrano-interactive
96
95
  licenses:
@@ -1,36 +0,0 @@
1
- module Capistrano
2
- module Interactive
3
- module BackendHook
4
- def self.included(base)
5
- base.class_eval do
6
- alias_method :non_interactive_execute, :execute
7
- def execute(*args)
8
- if BackendHook.intercept_command?
9
- BackendHook.last_command = command(*args)
10
- else
11
- non_interactive_execute(*args)
12
- end
13
- end
14
- end
15
- end
16
-
17
- def self.intercept_command!
18
- @intercept_command = true
19
- end
20
-
21
- def self.intercept_command?
22
- !!@intercept_command
23
- end
24
-
25
- def self.last_command
26
- @last_command
27
- end
28
-
29
- private
30
-
31
- def self.last_command=(cmd)
32
- @last_command = cmd
33
- end
34
- end
35
- end
36
- end
@@ -1,70 +0,0 @@
1
- module Capistrano
2
- module Interactive
3
- class Command
4
- def initialize(host, command)
5
- @host = host
6
- @command = command
7
- end
8
-
9
- def to_cmd
10
- [
11
- :ssh,
12
- *ssh_cmd_args,
13
- @host.hostname,
14
- %Q{'$SHELL -l -c "#{@command.to_command}"'}
15
- ].join(' ')
16
- end
17
-
18
- def execute
19
- exec(to_cmd)
20
- end
21
-
22
- private
23
-
24
- def ssh_option(attr_name)
25
- (@host.netssh_options || {})[attr_name] || (@host.respond_to?(attr_name) ? @host.send(attr_name) : nil)
26
- end
27
-
28
- def host_name
29
- ssh_option(:host_name)
30
- end
31
-
32
- def port
33
- ssh_option(:port)
34
- end
35
-
36
- def user
37
- ssh_option(:user)
38
- end
39
-
40
- def forward_agent?
41
- !!ssh_option(:forward_agent)
42
- end
43
-
44
- def proxy_command
45
- ssh_option(:proxy) ? ssh_option(:proxy).command_line_template : nil
46
- end
47
-
48
- def keys
49
- Array(ssh_option(:keys))
50
- end
51
-
52
- def ssh_cmd_args
53
- args = []
54
-
55
- args << '-t'
56
- args << '-A' if forward_agent?
57
- args << "-p #{port}" if port
58
- args << "-l #{user}"
59
- args << %Q{-o "ProxyCommand #{proxy_command}"} if proxy_command
60
- args << %Q{-o "HostName #{host_name}"} if host_name
61
-
62
- keys.each do |key|
63
- args << "-i #{key}"
64
- end
65
-
66
- args
67
- end
68
- end
69
- end
70
- end
@@ -1,13 +0,0 @@
1
- require 'capistrano/interactive/command'
2
-
3
- module Capistrano
4
- module Interactive
5
- module DSL
6
- def interact(*args)
7
- Capistrano::Interactive::BackendHook.intercept_command!
8
- execute(*args)
9
- Capistrano::Interactive::Command.new(host, Capistrano::Interactive::BackendHook.last_command).execute
10
- end
11
- end
12
- end
13
- end