chuck-norris 0.1.0 → 0.1.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.
- data/TODO +1 -0
- data/VERSION +1 -1
- data/chuck-norris.gemspec +5 -4
- data/lib/chuck-norris.rb +29 -8
- metadata +46 -47
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
data/chuck-norris.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{chuck-norris}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Pavel Gorbokon (pahanix)"]
|
@@ -14,7 +14,8 @@ Gem::Specification.new do |s|
|
|
14
14
|
s.email = %q{pahanix@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE",
|
17
|
-
"README.rdoc"
|
17
|
+
"README.rdoc",
|
18
|
+
"TODO"
|
18
19
|
]
|
19
20
|
s.files = [
|
20
21
|
".document",
|
@@ -31,7 +32,7 @@ Gem::Specification.new do |s|
|
|
31
32
|
s.homepage = %q{http://github.com/pahanix/chuck-norris}
|
32
33
|
s.rdoc_options = ["--charset=UTF-8"]
|
33
34
|
s.require_paths = ["lib"]
|
34
|
-
s.rubygems_version = %q{1.3.
|
35
|
+
s.rubygems_version = %q{1.3.6}
|
35
36
|
s.summary = %q{Chuck Norris}
|
36
37
|
s.test_files = [
|
37
38
|
"test/helper.rb",
|
@@ -42,7 +43,7 @@ Gem::Specification.new do |s|
|
|
42
43
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
43
44
|
s.specification_version = 3
|
44
45
|
|
45
|
-
if Gem::Version.new(Gem::
|
46
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
46
47
|
s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
47
48
|
else
|
48
49
|
s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
data/lib/chuck-norris.rb
CHANGED
@@ -23,17 +23,38 @@ class Object
|
|
23
23
|
def say(text)
|
24
24
|
`say #{text} &` if RUBY_PLATFORM =~ /darwin/
|
25
25
|
end
|
26
|
+
|
27
|
+
def __mri_or_ree?
|
28
|
+
# 1.8.6 1.8.7/1.9.*, ree
|
29
|
+
!defined?(RUBY_DESCRIPTION) || RUBY_DESCRIPTION =~ /^ruby/
|
30
|
+
end
|
26
31
|
end
|
27
32
|
|
28
33
|
# LITTLE HACK to put Chuck Norris last respects at the end of application lifetime.
|
29
34
|
# Kernel runs exit procs in reverse mode and at this point we can already have
|
30
35
|
# other exit procs. For example from Shoulda or UnitTest (I'm not sure which exactly).
|
31
36
|
|
32
|
-
|
33
|
-
#
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
37
|
+
if __mri_or_ree?
|
38
|
+
# This hack works on MRI 1.8/1.9 and REE (actually it's a bug!)
|
39
|
+
# and does not work on JRuby/Rubinius (well done!)
|
40
|
+
Kernel.at_exit {
|
41
|
+
Kernel.at_exit { chuck_norris_pays_last_respects }
|
42
|
+
}
|
43
|
+
elsif defined? Rubinius::AtExit
|
44
|
+
# Chuck Norris can hack even Rubinius
|
45
|
+
#
|
46
|
+
# Rubinius Kernel.at_exit implementation looks
|
47
|
+
#
|
48
|
+
# def at_exit(&block)
|
49
|
+
# Rubinius::AtExit.unshift(block)
|
50
|
+
# end
|
51
|
+
#
|
52
|
+
# We break incapsulation here and change internals of Rubunius
|
53
|
+
# We invert usual #at_exit and change Rubinius::AtExit directly
|
54
|
+
#
|
55
|
+
Rubinius::AtExit.push(lambda { chuck_norris_pays_last_respects })
|
56
|
+
elsif RUBY_PLATFORM =~ /java/
|
57
|
+
# and Java knocks under Chuck Norris
|
58
|
+
require 'java'
|
59
|
+
org.jruby.Ruby.getGlobalRuntime.pushExitBlock(lambda { chuck_norris_pays_last_respects })
|
60
|
+
end
|
metadata
CHANGED
@@ -3,13 +3,13 @@ name: chuck-norris
|
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease: false
|
5
5
|
segments:
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
version: 0.1.
|
6
|
+
- 0
|
7
|
+
- 1
|
8
|
+
- 1
|
9
|
+
version: 0.1.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
|
-
- Pavel Gorbokon (pahanix)
|
12
|
+
- Pavel Gorbokon (pahanix)
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
@@ -17,19 +17,18 @@ cert_chain: []
|
|
17
17
|
date: 2010-09-25 00:00:00 +03:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
|
-
- !ruby/object:Gem::Dependency
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
version_requirements: *id001
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: thoughtbot-shoulda
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 0
|
29
|
+
version: "0"
|
30
|
+
type: :development
|
31
|
+
version_requirements: *id001
|
33
32
|
description: When Chuck Norris throws exceptions, it's across the room
|
34
33
|
email: pahanix@gmail.com
|
35
34
|
executables: []
|
@@ -37,51 +36,51 @@ executables: []
|
|
37
36
|
extensions: []
|
38
37
|
|
39
38
|
extra_rdoc_files:
|
40
|
-
- LICENSE
|
41
|
-
- README.rdoc
|
39
|
+
- LICENSE
|
40
|
+
- README.rdoc
|
41
|
+
- TODO
|
42
42
|
files:
|
43
|
-
- .document
|
44
|
-
- .gitignore
|
45
|
-
- LICENSE
|
46
|
-
- README.rdoc
|
47
|
-
- Rakefile
|
48
|
-
- VERSION
|
49
|
-
- chuck-norris.gemspec
|
50
|
-
- lib/chuck-norris.rb
|
51
|
-
- test/helper.rb
|
52
|
-
- test/test_chuck-norris.rb
|
43
|
+
- .document
|
44
|
+
- .gitignore
|
45
|
+
- LICENSE
|
46
|
+
- README.rdoc
|
47
|
+
- Rakefile
|
48
|
+
- VERSION
|
49
|
+
- chuck-norris.gemspec
|
50
|
+
- lib/chuck-norris.rb
|
51
|
+
- test/helper.rb
|
52
|
+
- test/test_chuck-norris.rb
|
53
|
+
- TODO
|
53
54
|
has_rdoc: true
|
54
55
|
homepage: http://github.com/pahanix/chuck-norris
|
55
56
|
licenses: []
|
56
57
|
|
57
58
|
post_install_message:
|
58
59
|
rdoc_options:
|
59
|
-
- --charset=UTF-8
|
60
|
+
- --charset=UTF-8
|
60
61
|
require_paths:
|
61
|
-
- lib
|
62
|
+
- lib
|
62
63
|
required_ruby_version: !ruby/object:Gem::Requirement
|
63
|
-
none: false
|
64
64
|
requirements:
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
65
|
+
- - ">="
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
segments:
|
68
|
+
- 0
|
69
|
+
version: "0"
|
70
70
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
71
|
-
none: false
|
72
71
|
requirements:
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
segments:
|
75
|
+
- 0
|
76
|
+
version: "0"
|
78
77
|
requirements: []
|
79
78
|
|
80
79
|
rubyforge_project:
|
81
|
-
rubygems_version: 1.3.
|
80
|
+
rubygems_version: 1.3.6
|
82
81
|
signing_key:
|
83
82
|
specification_version: 3
|
84
83
|
summary: Chuck Norris
|
85
84
|
test_files:
|
86
|
-
- test/helper.rb
|
87
|
-
- test/test_chuck-norris.rb
|
85
|
+
- test/helper.rb
|
86
|
+
- test/test_chuck-norris.rb
|