module Where
Constants
- VERSION
Public Class Methods
are(klass, method = nil)
click to toggle source
# File lib/where_is.rb, line 12 def are(klass, method = nil) if method begin Where.are_instance_methods(klass, method) rescue NameError Where.are_methods(klass, method) end else Where.is_class(klass) end end
are_instance_methods(klass, method_name)
click to toggle source
# File lib/where_is.rb, line 52 def are_instance_methods(klass, method_name) ensured_class = ensure_class(klass) methods = are_via_extractor(:instance_method, ensured_class, method_name) source_locations = group_and_combine_source_locations(methods) if source_locations.empty? raise NameError, "#{ensured_class} has no methods called #{method_name}" end source_locations end
are_methods(klass, method_name)
click to toggle source
# File lib/where_is.rb, line 40 def are_methods(klass, method_name) ensured_class = ensure_class(klass) methods = are_via_extractor(:method, ensured_class, method_name) source_locations = group_and_combine_source_locations(methods) if source_locations.empty? raise NameError, "#{ensured_class} has no methods called #{method_name}" end source_locations end
is(klass, method = nil)
click to toggle source
# File lib/where_is.rb, line 8 def is(klass, method = nil) are(klass, method)[0] end
is_class(klass)
click to toggle source
# File lib/where_is.rb, line 64 def is_class(klass) ensured_class = ensure_class(klass) methods = defined_methods(ensured_class) source_locations = group_and_combine_source_locations(methods) if source_locations.empty? raise NameError, "#{ensured_class} has no methods" if methods.empty? raise NameError, "#{ensured_class} only has built-in methods " \ "(#{methods.size} in total)" end source_locations end
is_class_primarily(klass)
click to toggle source
# File lib/where_is.rb, line 36 def is_class_primarily(klass) is_class(klass)[0] end
is_instance_method(klass, method_name)
click to toggle source
# File lib/where_is.rb, line 32 def is_instance_method(klass, method_name) are_instance_methods(klass, method_name)[0] end
is_method(klass, method_name)
click to toggle source
# File lib/where_is.rb, line 28 def is_method(klass, method_name) are_methods(klass, method_name)[0] end
is_proc(proc)
click to toggle source
# File lib/where_is.rb, line 24 def is_proc(proc) source_location(proc) end