angry_shell 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 +1 -0
- data/angry_shell.gemspec +3 -3
- data/examples/usage.eg.rb +9 -0
- data/lib/angry_shell.rb +13 -2
- data/lib/angry_shell/version.rb +1 -1
- metadata +10 -6
- data/Gemfile.lock +0 -16
data/.gitignore
CHANGED
data/angry_shell.gemspec
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
|
3
|
-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "angry_shell/version"
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
6
|
s.name = "angry_shell"
|
7
|
-
s.version =
|
7
|
+
s.version = AngryShell::VERSION
|
8
8
|
s.platform = Gem::Platform::RUBY
|
9
9
|
s.authors = ["Lachie Cox"]
|
10
10
|
s.email = ["lachie.cox@plus2.com.au"]
|
data/examples/usage.eg.rb
CHANGED
@@ -18,6 +18,9 @@ eg 'popen4 - normal, stream io' do
|
|
18
18
|
Assert(out == "Hello\n")
|
19
19
|
end
|
20
20
|
|
21
|
+
|
22
|
+
|
23
|
+
|
21
24
|
eg 'popen4 - error' do
|
22
25
|
begin
|
23
26
|
AngryShell::Shell.new.popen4(:cmd => 'casplortleecho Hello') do |cid,ipc|
|
@@ -30,6 +33,12 @@ eg 'popen4 - error' do
|
|
30
33
|
Assert(raised)
|
31
34
|
end
|
32
35
|
|
36
|
+
|
37
|
+
eg 'cmd is a proc' do
|
38
|
+
Assert( AngryShell::Shell.new(lambda { puts "hello world" }).to_s == "hello world" )
|
39
|
+
end
|
40
|
+
|
41
|
+
|
33
42
|
eg 'run' do
|
34
43
|
AngryShell::Shell.new("echo Whats happening").run
|
35
44
|
Assert( :didnt_raise )
|
data/lib/angry_shell.rb
CHANGED
@@ -40,7 +40,12 @@ module AngryShell
|
|
40
40
|
@block = block
|
41
41
|
@options = if Hash === args.last then args.pop else {} end
|
42
42
|
|
43
|
-
|
43
|
+
case args.size
|
44
|
+
when 0
|
45
|
+
# no op
|
46
|
+
when 1
|
47
|
+
@options[:cmd] = args.first
|
48
|
+
else
|
44
49
|
@options[:cmd] = args
|
45
50
|
end
|
46
51
|
|
@@ -321,13 +326,19 @@ module AngryShell
|
|
321
326
|
|
322
327
|
begin
|
323
328
|
cmd = args[:cmd]
|
324
|
-
|
329
|
+
|
330
|
+
case cmd
|
331
|
+
when Proc
|
332
|
+
exit cmd.call.to_i
|
333
|
+
when Array
|
325
334
|
exec(*cmd)
|
326
335
|
else
|
327
336
|
exec(cmd)
|
328
337
|
end
|
329
338
|
|
330
339
|
raise 'forty-two'
|
340
|
+
rescue SystemExit
|
341
|
+
exit $!.status
|
331
342
|
rescue Object => e
|
332
343
|
Marshal.dump(e, ipc.exception)
|
333
344
|
ipc.exception.flush
|
data/lib/angry_shell/version.rb
CHANGED
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: angry_shell
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 27
|
5
|
+
prerelease:
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
9
|
+
- 2
|
10
|
+
version: 0.0.2
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Lachie Cox
|
@@ -14,7 +15,7 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date:
|
18
|
+
date: 2011-02-18 00:00:00 +11:00
|
18
19
|
default_executable:
|
19
20
|
dependencies: []
|
20
21
|
|
@@ -30,7 +31,6 @@ extra_rdoc_files: []
|
|
30
31
|
files:
|
31
32
|
- .gitignore
|
32
33
|
- Gemfile
|
33
|
-
- Gemfile.lock
|
34
34
|
- Rakefile
|
35
35
|
- Readme.md
|
36
36
|
- angry_shell.gemspec
|
@@ -48,23 +48,27 @@ rdoc_options: []
|
|
48
48
|
require_paths:
|
49
49
|
- lib
|
50
50
|
required_ruby_version: !ruby/object:Gem::Requirement
|
51
|
+
none: false
|
51
52
|
requirements:
|
52
53
|
- - ">="
|
53
54
|
- !ruby/object:Gem::Version
|
55
|
+
hash: 3
|
54
56
|
segments:
|
55
57
|
- 0
|
56
58
|
version: "0"
|
57
59
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
60
|
+
none: false
|
58
61
|
requirements:
|
59
62
|
- - ">="
|
60
63
|
- !ruby/object:Gem::Version
|
64
|
+
hash: 3
|
61
65
|
segments:
|
62
66
|
- 0
|
63
67
|
version: "0"
|
64
68
|
requirements: []
|
65
69
|
|
66
70
|
rubyforge_project: angry_shell
|
67
|
-
rubygems_version: 1.
|
71
|
+
rubygems_version: 1.4.2
|
68
72
|
signing_key:
|
69
73
|
specification_version: 3
|
70
74
|
summary: Shell
|