shellutils 0.0.1 → 0.0.2

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/.gitignore CHANGED
@@ -15,3 +15,4 @@ spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
+ .sudo_pwd
data/lib/shellutils.rb CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  require 'thor'
4
4
  require 'timeout'
5
+ require 'pty'
6
+ require 'expect'
5
7
 
6
8
  module ShellUtils
7
9
  SUDO_PWD_PATH = ".sudo_pwd"
@@ -103,14 +105,10 @@ module ShellUtils
103
105
  puts cmd
104
106
  PTY.spawn(cmd) do |r, w|
105
107
  w.sync = true
106
- expect_result = r.expect(/[Pp]assword.*:.*$/)
107
- if expect_result
108
- begin
109
- timeout(1) {
110
- w.puts(get_sudo_pwd)
111
- }
112
- rescue Exception => err
113
- error("the sudo command timed out。password=#{get_sudo_pwd}\nPlease change the password ex) set_sudo_pwd PASSWORD")
108
+ if r.expect(/[Pp]assword.*:.*$/)
109
+ w.puts(get_sudo_pwd)
110
+ if r.expect(/[Pp]assword.*:.*$/)
111
+ error("the sudo password is incorrect. password=#{get_sudo_pwd}\nPlease change the password ex) set_sudo_pwd PASSWORD")
114
112
  end
115
113
  end
116
114
  puts "-> ok"
@@ -1,3 +1,3 @@
1
1
  module Shellutils
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -5,6 +5,10 @@ module ShellUtils
5
5
  it "shoudl exec shell command" do
6
6
  ShellUtils.sh "pwd"
7
7
  end
8
+
9
+ it "shoudl exec shell command" do
10
+ ShellUtils.sudo "pwd"
11
+ end
8
12
 
9
13
  end
10
14
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shellutils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-10-12 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: thor
16
- requirement: &70276910367540 !ruby/object:Gem::Requirement
16
+ requirement: &70211689780740 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70276910367540
24
+ version_requirements: *70211689780740
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &70276910367060 !ruby/object:Gem::Requirement
27
+ requirement: &70211689780200 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70276910367060
35
+ version_requirements: *70211689780200
36
36
  description: Shell utils
37
37
  email:
38
38
  - kyamada@sonix.asia