shellutils 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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