capistrano-sudo 0.0.3 → 0.0.4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 127b9c81e07a637492cbcf8e8f31c7864a6c83ab
4
- data.tar.gz: fdbf9438aa6e94423840844db82878d7352b0b51
3
+ metadata.gz: 5602fd92059affc8e5300141820f42228e50004c
4
+ data.tar.gz: e0ab9fc6ab8eb72c53f58abdd2c43a732660c3e5
5
5
  SHA512:
6
- metadata.gz: 408c176ba5bfacc79f0e538d7110743c95bdfa328339684fe11d0e2b6c4787f9d824ffb0774e61782dcc45924f5cd166565e98ac46c21fd5cf6bb68f599dc8c3
7
- data.tar.gz: 47bfa09f20e2a84d3cbf16ed35dd66239d8127af1aa68951eec9da7ca7a23576bb049bef319b029db3214d50a7220c68540811eea28e9b4b053d887934a7d92f
6
+ metadata.gz: 676d4a0ce9abc923c4953fe80c4682e86586c3507d2b15fd98f4160e90e8f42445db5564b9391f0a9aea4cbaf4f3b6fcce9effe41b4f48f708874ef21c63794b
7
+ data.tar.gz: 5ae34290a8cf448d083b17e897271a2722d28168033acfabd811ad8e608d0f0aaca730f211eba7a8b79a2d79fdeafb59612b330b69efa8638564eedb44780a6d
data/README.md CHANGED
@@ -32,7 +32,17 @@ password | ENV['SUDO_PASSWORD'] | target machine's sudo password
32
32
  Add this line to your application's Capfile:
33
33
 
34
34
  ```ruby
35
- require 'capistrano/capistrano-sudo'
35
+ require 'capistrano/sudo'
36
+ ```
37
+
38
+ And use the `sudo!` DSL in your task:
39
+
40
+ ```ruby
41
+ task :something do
42
+ on roles(:all) do |host|
43
+ sudo! :mkdir, '/foo/bar'
44
+ end
45
+ end
36
46
  ```
37
47
 
38
48
  And execute `cap` command with sudo password, like this:
@@ -19,6 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_dependency "capistrano", "~> 3.3"
22
+ spec.add_dependency "sshkit-sudo", ">= 0.0.4"
22
23
 
23
24
  spec.add_development_dependency "bundler", "~> 1.6"
24
25
  spec.add_development_dependency "rake", "~> 10.0"
@@ -1,3 +1,7 @@
1
+ # Load the DSL that provides sudo execute.
2
+ # - https://github.com/kentaroi/sshkit-sudo
3
+ require "sshkit/sudo"
4
+
1
5
  require "capistrano/sudo/dsl"
2
6
 
3
7
  load File.expand_path("../tasks/capistrano-sudo.rake", __FILE__)
@@ -1,7 +1,12 @@
1
1
  module Capistrano
2
2
  module DSL
3
- def sudo(*args)
4
- execute :echo, "'#{fetch(:password)}'|", :sudo, '-S', *args, raise_on_non_zero_exit: false
3
+ # `sudo!` executes sudo command and provides password input.
4
+ def sudo!(*args)
5
+ on roles(:all) do |host|
6
+ key = "#{host.user}@#{host.hostname}"
7
+ SSHKit::Sudo.password_cache[key] = "#{fetch(:password)}\n" # \n is enter
8
+ end
9
+ sudo(*args)
5
10
  end
6
11
  end
7
12
  end
@@ -1,5 +1,5 @@
1
1
  module Capistrano
2
2
  module Sudo
3
- VERSION = "0.0.3"
3
+ VERSION = "0.0.4"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-sudo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yuta, AKAMINE
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-04 00:00:00.000000000 Z
11
+ date: 2015-12-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capistrano
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '3.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: sshkit-sudo
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.0.4
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 0.0.4
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -111,7 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
125
  version: '0'
112
126
  requirements: []
113
127
  rubyforge_project:
114
- rubygems_version: 2.2.2
128
+ rubygems_version: 2.4.5
115
129
  signing_key:
116
130
  specification_version: 4
117
131
  summary: sudo extention for Capistrano