Exit_Zero 1.0.0 → 1.0.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.
@@ -1,3 +1,3 @@
1
1
  class Exit_Zero
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
data/lib/Exit_Zero.rb CHANGED
@@ -2,9 +2,9 @@ require 'Exit_Zero/version'
2
2
  require 'Split_Lines'
3
3
  require 'posix/spawn'
4
4
 
5
- def Exit_Zero cmd=:no_cmd, &blok
5
+ def Exit_Zero *cmd, &blok
6
6
 
7
- both = cmd != :no_cmd && block_given?
7
+ both = !cmd.empty? && block_given?
8
8
  raise ArgumentError, "Both command and block are not allowed." if both
9
9
 
10
10
  if block_given?
@@ -12,8 +12,8 @@ def Exit_Zero cmd=:no_cmd, &blok
12
12
  r = p = blok.call
13
13
  msg = cmd
14
14
  else
15
- r = p = Exit_Zero::Child.new(cmd)
16
- msg = p.err.strip.empty? ? cmd : p.err
15
+ r = p = Exit_Zero::Child.new(*cmd)
16
+ msg = p.err.strip.empty? ? p.cmd : p.err
17
17
  end
18
18
 
19
19
  (r = r.status) if r.respond_to?(:status)
@@ -37,9 +37,9 @@ class Exit_Zero
37
37
  module Base
38
38
 
39
39
  attr_reader :cmd, :child
40
- def initialize cmd
41
- @cmd = cmd
42
- @child = POSIX::Spawn::Child.new(cmd)
40
+ def initialize *cmd
41
+ @child = POSIX::Spawn::Child.new(*cmd)
42
+ @cmd = cmd.join(' ')
43
43
  end
44
44
 
45
45
  def split_lines
@@ -1,6 +1,11 @@
1
1
 
2
- describe "Exit_Zero 'cmd'" do
2
+ describe "Exit_Zero *cmd" do
3
3
 
4
+ it "accepts the same arguments as POSIX::Spawn::Child" do
5
+ Exit_Zero("dc", :input=>'4 4 + p').out
6
+ .should == "8\n"
7
+ end
8
+
4
9
  it "raises Exit_Zero::Non_Zero if command exits with non-zero" do
5
10
  lambda {
6
11
  Exit_Zero 'uptimes'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: Exit_Zero
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-21 00:00:00.000000000 Z
12
+ date: 2012-02-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bacon
16
- requirement: &14691860 !ruby/object:Gem::Requirement
16
+ requirement: &9668840 !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: :development
23
23
  prerelease: false
24
- version_requirements: *14691860
24
+ version_requirements: *9668840
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rake
27
- requirement: &14691120 !ruby/object:Gem::Requirement
27
+ requirement: &9668400 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *14691120
35
+ version_requirements: *9668400
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: Bacon_Colored
38
- requirement: &14690640 !ruby/object:Gem::Requirement
38
+ requirement: &9667920 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *14690640
46
+ version_requirements: *9667920
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: pry
49
- requirement: &14690160 !ruby/object:Gem::Requirement
49
+ requirement: &9667400 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *14690160
57
+ version_requirements: *9667400
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: Split_Lines
60
- requirement: &14689720 !ruby/object:Gem::Requirement
60
+ requirement: &9666920 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *14689720
68
+ version_requirements: *9666920
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: posix-spawn
71
- requirement: &14689200 !ruby/object:Gem::Requirement
71
+ requirement: &9666400 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *14689200
79
+ version_requirements: *9666400
80
80
  description: ! "\n A simple method that raises Exit_Zero::Non_Zero\n if $?.exitstatus
81
81
  is not zero.\n Be sure to use the \"posix-spawn\" since almost everything \n
82
82
  \ else is just plain wrong when handling child processes.\n "