Module: IsA
- Defined in:
- lib/is_a.rb,
lib/is_a/version.rb,
ext/is_a/is_a.c
Constant Summary collapse
- VERSION =
"0.1.5"
Class Method Summary collapse
- ._ref2id(obj) ⇒ Object
- .caller_line(r_offset) ⇒ Object
- .class_of(obj) ⇒ Object
- .id_of(obj) ⇒ Object
-
.object?(obj) ⇒ Boolean
checks if object is an whole Object, not just BasicObject.
Class Method Details
._ref2id(obj) ⇒ Object
17 18 19 |
# File 'lib/is_a.rb', line 17 def self._ref2id obj self.id_of(obj) end |
.caller_line(r_offset) ⇒ Object
122 123 124 125 126 127 |
# File 'ext/is_a/is_a.c', line 122
static VALUE
rb_caller_line(VALUE self, VALUE r_offset)
{
int offset = NUM2INT(r_offset); // we are not interested in self
return caller_line(offset);
}
|
.class_of(obj) ⇒ Object
8 9 10 11 12 13 14 |
# File 'ext/is_a/is_a.c', line 8
static VALUE
rb_get_class_of(VALUE self, VALUE obj)
{
VALUE cls = rb_class_of(obj);
//printf("Class of %lu is %lu\n", obj / 2, cls / 2);
return cls;
}
|
.id_of(obj) ⇒ Object
16 17 18 19 20 |
# File 'ext/is_a/is_a.c', line 16
static VALUE
rb_object_id_of(VALUE self, VALUE obj)
{
return rb_obj_id(obj);
}
|
.object?(obj) ⇒ Boolean
checks if object is an whole Object, not just BasicObject
8 9 10 11 12 13 14 15 |
# File 'lib/is_a.rb', line 8 def self.object? obj cls = self.class_of(obj) loop do return true if cls == Object next if cls = cls.superclass return false end end |