darkhelmet-darkext 0.5.4 → 0.5.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/lib/darkext/io.rb +9 -3
  2. data/lib/darkext/string.rb +10 -2
  3. metadata +2 -2
data/lib/darkext/io.rb CHANGED
@@ -5,13 +5,18 @@ module DarkIO
5
5
  def self.capture_output(opts = { }) # yield e
6
6
  opts.with_defaults!(:stdout => true, :stderr => true)
7
7
  cout,cerr = opts[:stdout],opts[:stderr]
8
- return if !cout && !cerr
8
+
9
+ yield and return if !cout && !cerr
10
+
9
11
  old_stdout = STDOUT.dup if cout
10
12
  old_stderr = STDERR.dup if cerr
13
+
11
14
  r_stdout,w_stdout = IO.pipe if cout
12
15
  r_stderr,w_stderr = IO.pipe if cerr
16
+
13
17
  STDOUT.reopen(w_stdout) if cout
14
18
  STDERR.reopen(w_stderr) if cerr
19
+
15
20
  begin
16
21
  yield
17
22
  ensure
@@ -20,10 +25,11 @@ module DarkIO
20
25
  w_stdout.close if cout
21
26
  w_stderr.close if cerr
22
27
  end
28
+
23
29
  ret_stdout = r_stdout.read if cout
24
30
  ret_stderr = r_stderr.read if cerr
25
- ret_stdout.close if cout
26
- ret_stderr.close if cerr
31
+ r_stdout.close if cout
32
+ r_stderr.close if cerr
27
33
  return ret_stdout,ret_stderr if cout && cerr
28
34
  return ret_stdout if cout
29
35
  return ret_stderr if cerr
@@ -6,10 +6,18 @@ class String
6
6
  case self.count('.')
7
7
  when 2
8
8
  elements = self.split('..')
9
- return Range.new(elements[0].to_i, elements[1].to_i)
9
+ if elements[0] == elements[0].to_i.to_s
10
+ return Range.new(elements[0].to_i, elements[1].to_i)
11
+ else
12
+ return Range.new(elements[0], elements[1])
13
+ end
10
14
  when 3
11
15
  elements = self.split('...')
12
- return Range.new(elements[0].to_i, elements[1].to_i-1)
16
+ if elements[0] == elements[0].to_i.to_s
17
+ return Range.new(elements[0].to_i, (elements[1] - 1).to_i)
18
+ else
19
+ return Range.new(elements[0], elements[1] - 1)
20
+ end
13
21
  end
14
22
  return nil
15
23
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: darkhelmet-darkext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.4
4
+ version: 0.5.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Huckstep
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-01-25 00:00:00 -08:00
12
+ date: 2009-02-10 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency