Class: Ruby::Reflection
- Inherits:
-
Object
show all
- Includes:
- AbstractReflection
- Defined in:
- lib/ruby/reflection.rb,
lib/ruby/reflection/mirror.rb,
lib/ruby/reflection/class_mirror.rb,
lib/ruby/reflection/field_mirror.rb,
lib/ruby/reflection/method_mirror.rb,
lib/ruby/reflection/object_mirror.rb,
lib/ruby/reflection/thread_mirror.rb,
lib/ruby/reflection/stack_frame_mirror.rb,
lib/ruby/reflection/field_mirror/constant_mirror.rb,
lib/ruby/reflection/field_mirror/class_variable_mirror.rb,
lib/ruby/reflection/field_mirror/instance_variable_mirror.rb
Defined Under Namespace
Classes: ClassMirror, ClassVariableMirror, ConstantMirror, FieldMirror, InstanceVariableMirror, MethodMirror, Mirror, ObjectMirror, StackFrameMirror, ThreadMirror
Class Method Summary
collapse
Instance Method Summary
collapse
included, #reflect, #senders_of
Constructor Details
#initialize(ignored = nil) ⇒ Reflection
Returns a new instance of Reflection.
18
19
|
# File 'lib/ruby/reflection.rb', line 18
def initialize(ignored = nil)
end
|
Class Method Details
14
15
16
|
# File 'lib/ruby/reflection.rb', line 14
def self.codebase
nil.class
end
|
Instance Method Details
25
26
27
|
# File 'lib/ruby/reflection.rb', line 25
def classes
instances_of(Class)
end
|
49
50
51
|
# File 'lib/ruby/reflection.rb', line 49
def engine
Object::RUBY_ENGINE
end
|
#implementations_of(str) ⇒ Object
57
58
59
|
# File 'lib/ruby/reflection.rb', line 57
def implementations_of(str)
mirrors methods.select {|m| m.name.to_s == str.to_s }
end
|
#instances_of(klass) ⇒ Object
29
30
31
|
# File 'lib/ruby/reflection.rb', line 29
def instances_of(klass)
mirrors ObjectSpace.each_object(klass).select {|obj| obj.class == klass }
end
|
21
22
23
|
# File 'lib/ruby/reflection.rb', line 21
def modules
instances_of(Module)
end
|
#object_by_id(id) ⇒ Object
33
34
35
36
37
38
39
|
# File 'lib/ruby/reflection.rb', line 33
def object_by_id(id)
if obj = ObjectSpace._id2ref(id)
reflect obj
else
nil
end
end
|
45
46
47
|
# File 'lib/ruby/reflection.rb', line 45
def platform
Object::RUBY_PLATFORM
end
|
41
42
43
|
# File 'lib/ruby/reflection.rb', line 41
def threads
instances_of(Thread)
end
|
53
54
55
|
# File 'lib/ruby/reflection.rb', line 53
def version
Object.const_get("#{engine.upcase}_VERSION")
end
|