dev-kit 0.1.0 → 0.1.1
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 +4 -4
- data/dev.yml +0 -1
- data/lib/dev/kit/system.rb +13 -10
- data/lib/dev/kit/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e8a7ad1bb620a4ef9c24d1b23a3b51959c3206c0
|
4
|
+
data.tar.gz: 0b0957c437ebd354b68506516338871d13c327ed
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 53b11d8a08980d86e1c20b93807d8984774097be9edef84d800323330b7e3a5a54f9c6490b62a96b2422a425f8da0e2e5106fe3b734741cd57f4fe7bf9b5434e
|
7
|
+
data.tar.gz: be57303043e80cefeed7b73f48832ca79aed4434cebdf05d7776a75d3955bac589a32b64d667c3211678af78ebff61bfdd4bd528973125b8b6fd3f1a692805ed
|
data/lib/dev/kit/system.rb
CHANGED
@@ -6,8 +6,8 @@ require 'English'
|
|
6
6
|
module Dev
|
7
7
|
module Kit
|
8
8
|
module System
|
9
|
+
SUDO_PROMPT = Dev::UI.fmt("{{info:(sudo)}} Password: ")
|
9
10
|
class << self
|
10
|
-
SUDO_PROMPT = Dev::UI.fmt("{{info:(sudo)}} Password: ")
|
11
11
|
|
12
12
|
# Ask for sudo access with a message explaning the need for it
|
13
13
|
# Will make subsequent commands capable of running with sudo for a period of time
|
@@ -35,6 +35,7 @@ module Dev
|
|
35
35
|
# - `*a`: A splat of arguments evaluated as a command. (e.g. `'rm', folder` is equivalent to `rm #{folder}`)
|
36
36
|
# - `sudo`: If truthy, run this command with sudo. If String, pass to `sudo_reason`
|
37
37
|
# - `env`: process environment with which to execute this command
|
38
|
+
# - `**kwargs`: additional arguments to pass to Open3.capture2
|
38
39
|
#
|
39
40
|
# #### Returns
|
40
41
|
# - `output`: output (STDOUT) of the command execution
|
@@ -43,8 +44,8 @@ module Dev
|
|
43
44
|
# #### Usage
|
44
45
|
# `out, stat = Dev::Kit::System.capture2('ls', 'a_folder')`
|
45
46
|
#
|
46
|
-
def capture2(*a, sudo: false, env: ENV)
|
47
|
-
delegate_open3(*a, sudo: sudo, env: env, method: :capture2)
|
47
|
+
def capture2(*a, sudo: false, env: ENV, **kwargs)
|
48
|
+
delegate_open3(*a, sudo: sudo, env: env, method: :capture2, **kwargs)
|
48
49
|
end
|
49
50
|
|
50
51
|
# Execute a command in the user's environment
|
@@ -55,6 +56,7 @@ module Dev
|
|
55
56
|
# - `*a`: A splat of arguments evaluated as a command. (e.g. `'rm', folder` is equivalent to `rm #{folder}`)
|
56
57
|
# - `sudo`: If truthy, run this command with sudo. If String, pass to `sudo_reason`
|
57
58
|
# - `env`: process environment with which to execute this command
|
59
|
+
# - `**kwargs`: additional arguments to pass to Open3.capture2e
|
58
60
|
#
|
59
61
|
# #### Returns
|
60
62
|
# - `output`: output (STDOUT merged with STDERR) of the command execution
|
@@ -63,8 +65,8 @@ module Dev
|
|
63
65
|
# #### Usage
|
64
66
|
# `out_and_err, stat = Dev::Kit::System.capture2e('ls', 'a_folder')`
|
65
67
|
#
|
66
|
-
def capture2e(*a, sudo: false, env: ENV)
|
67
|
-
delegate_open3(*a, sudo: sudo, env: env, method: :capture2e)
|
68
|
+
def capture2e(*a, sudo: false, env: ENV, **kwargs)
|
69
|
+
delegate_open3(*a, sudo: sudo, env: env, method: :capture2e, **kwargs)
|
68
70
|
end
|
69
71
|
|
70
72
|
# Execute a command in the user's environment
|
@@ -75,6 +77,7 @@ module Dev
|
|
75
77
|
# - `*a`: A splat of arguments evaluated as a command. (e.g. `'rm', folder` is equivalent to `rm #{folder}`)
|
76
78
|
# - `sudo`: If truthy, run this command with sudo. If String, pass to `sudo_reason`
|
77
79
|
# - `env`: process environment with which to execute this command
|
80
|
+
# - `**kwargs`: additional arguments to pass to Open3.capture3
|
78
81
|
#
|
79
82
|
# #### Returns
|
80
83
|
# - `output`: STDOUT of the command execution
|
@@ -84,8 +87,8 @@ module Dev
|
|
84
87
|
# #### Usage
|
85
88
|
# `out, err, stat = Dev::Kit::System.capture3('ls', 'a_folder')`
|
86
89
|
#
|
87
|
-
def capture3(*a, sudo: false, env: ENV)
|
88
|
-
delegate_open3(*a, sudo: sudo, env: env, method: :capture3)
|
90
|
+
def capture3(*a, sudo: false, env: ENV, **kwargs)
|
91
|
+
delegate_open3(*a, sudo: sudo, env: env, method: :capture3, **kwargs)
|
89
92
|
end
|
90
93
|
|
91
94
|
# Execute a command in the user's environment
|
@@ -142,14 +145,14 @@ module Dev
|
|
142
145
|
private
|
143
146
|
|
144
147
|
def apply_sudo(*a, sudo)
|
145
|
-
a.unshift('sudo', '-S', '-p', SUDO_PROMPT) if sudo
|
148
|
+
a.unshift('sudo', '-S', '-p', SUDO_PROMPT, '--') if sudo
|
146
149
|
sudo_reason(sudo) if sudo.is_a?(String)
|
147
150
|
a
|
148
151
|
end
|
149
152
|
|
150
|
-
def delegate_open3(*a, sudo: raise, env: raise, method: raise)
|
153
|
+
def delegate_open3(*a, sudo: raise, env: raise, method: raise, **kwargs)
|
151
154
|
a = apply_sudo(*a, sudo)
|
152
|
-
Open3.send(method, env, *resolve_path(a, env))
|
155
|
+
Open3.send(method, env, *resolve_path(a, env), **kwargs)
|
153
156
|
rescue Errno::EINTR
|
154
157
|
raise(Errno::EINTR, "command interrupted: #{a.join(' ')}")
|
155
158
|
end
|
data/lib/dev/kit/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dev-kit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Burke Libbey
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-
|
12
|
+
date: 2017-12-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: dev-ui
|
@@ -109,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
109
109
|
version: '0'
|
110
110
|
requirements: []
|
111
111
|
rubyforge_project:
|
112
|
-
rubygems_version: 2.6.
|
112
|
+
rubygems_version: 2.6.14
|
113
113
|
signing_key:
|
114
114
|
specification_version: 4
|
115
115
|
summary: Terminal UI framework extensions
|