is_a 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/Gemfile +2 -0
- data/Rakefile +17 -2
- data/is_a.gemspec +0 -1
- data/lib/is_a.rb +9 -1
- data/lib/is_a/version.rb +1 -1
- metadata +3 -14
data/Gemfile
CHANGED
data/Rakefile
CHANGED
@@ -6,6 +6,9 @@ Rake::ExtensionTask.new('is_a')
|
|
6
6
|
|
7
7
|
desc "Simple dump test,just to check if extension compiles and does not segfault on simple dump"
|
8
8
|
task :test => :compile do
|
9
|
+
|
10
|
+
#TODO: use some testing framework like minitest...
|
11
|
+
|
9
12
|
require "bundler/setup"
|
10
13
|
require 'is_a'
|
11
14
|
|
@@ -43,9 +46,21 @@ task :test => :compile do
|
|
43
46
|
puts "Getref FAIL"
|
44
47
|
end
|
45
48
|
|
49
|
+
unless IsA.object?(obj)
|
50
|
+
puts "object? ok"
|
51
|
+
else
|
52
|
+
puts "object? FAIL"
|
53
|
+
end
|
54
|
+
|
55
|
+
if IsA.object?(c)
|
56
|
+
puts "object? ok"
|
57
|
+
else
|
58
|
+
puts "object? FAIL"
|
59
|
+
end
|
60
|
+
|
46
61
|
|
47
|
-
require 'heap_dump'
|
48
|
-
HeapDump.dump
|
62
|
+
#require 'heap_dump'
|
63
|
+
#HeapDump.dump
|
49
64
|
end
|
50
65
|
|
51
66
|
task :default => :test
|
data/is_a.gemspec
CHANGED
data/lib/is_a.rb
CHANGED
@@ -4,5 +4,13 @@ require 'rbconfig'
|
|
4
4
|
require "is_a.#{RbConfig::CONFIG['DLEXT']}"
|
5
5
|
|
6
6
|
module IsA
|
7
|
-
#
|
7
|
+
# checks if object is an whole Object, not just BasicObject
|
8
|
+
def self.object? obj
|
9
|
+
cls = self.class_of(obj)
|
10
|
+
loop do
|
11
|
+
return true if cls == Object
|
12
|
+
next if cls = cls.superclass
|
13
|
+
return false
|
14
|
+
end
|
15
|
+
end
|
8
16
|
end
|
data/lib/is_a/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: is_a
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-06-11 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake-compiler
|
16
|
-
requirement: &
|
16
|
+
requirement: &70170107218200 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,18 +21,7 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
name: heap_dump
|
27
|
-
requirement: &70149844403740 !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
|
-
requirements:
|
30
|
-
- - ! '>='
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: '0'
|
33
|
-
type: :development
|
34
|
-
prerelease: false
|
35
|
-
version_requirements: *70149844403740
|
24
|
+
version_requirements: *70170107218200
|
36
25
|
description: Fear weak references to BasicObject no more
|
37
26
|
email:
|
38
27
|
- vasilyfedoseyev@gmail.com
|