with 0.0.3 → 0.0.4

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.
Files changed (3) hide show
  1. data/lib/with.rb +7 -2
  2. data/lib/with/io.rb +1 -1
  3. metadata +27 -33
data/lib/with.rb CHANGED
@@ -26,9 +26,14 @@ module Kernel
26
26
  exception = e
27
27
  end
28
28
 
29
-
30
29
  raise exception if objects.none? {|object|
31
- object.respond_to?(:__exit__) && object.__exit__(exception)
30
+ next unless object.respond_to?(:__exit__)
31
+
32
+ if object.method(:__exit__).arity == 0
33
+ object.__exit__ && false
34
+ else
35
+ object.__exit__(exception)
36
+ end
32
37
  } && exception
33
38
 
34
39
  result
data/lib/with/io.rb CHANGED
@@ -11,7 +11,7 @@
11
11
  #++
12
12
 
13
13
  class IO
14
- def __exit__ (*)
14
+ def __exit__
15
15
  close rescue nil
16
16
  end
17
17
  end
metadata CHANGED
@@ -1,56 +1,50 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: with
3
- version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.0.3
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.0.4
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - meh.
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-08-28 00:00:00 Z
12
+ date: 2011-09-01 00:00:00.000000000 +02:00
13
+ default_executable:
14
14
  dependencies: []
15
-
16
- description:
15
+ description:
17
16
  email: meh@paranoici.org
18
17
  executables: []
19
-
20
18
  extensions: []
21
-
22
19
  extra_rdoc_files: []
23
-
24
- files:
20
+ files:
25
21
  - lib/with.rb
26
22
  - lib/with/io.rb
27
23
  - lib/with/adapters.rb
24
+ has_rdoc: true
28
25
  homepage: http://github.com/meh/ruby-with
29
26
  licenses: []
30
-
31
- post_install_message:
27
+ post_install_message:
32
28
  rdoc_options: []
33
-
34
- require_paths:
29
+ require_paths:
35
30
  - lib
36
- required_ruby_version: !ruby/object:Gem::Requirement
31
+ required_ruby_version: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ! '>='
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
37
36
  none: false
38
- requirements:
39
- - - ">="
40
- - !ruby/object:Gem::Version
41
- version: "0"
42
- required_rubygems_version: !ruby/object:Gem::Requirement
37
+ required_rubygems_version: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ! '>='
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
43
42
  none: false
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: "0"
48
43
  requirements: []
49
-
50
- rubyforge_project:
51
- rubygems_version: 1.8.5
52
- signing_key:
44
+ rubyforge_project:
45
+ rubygems_version: 1.5.1
46
+ signing_key:
53
47
  specification_version: 3
54
48
  summary: Stupid Python-like with statement
55
49
  test_files: []
56
-
50
+ ...