diff options
Diffstat (limited to 'lib/method_source/source_location.rb')
-rw-r--r-- | lib/method_source/source_location.rb | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/method_source/source_location.rb b/lib/method_source/source_location.rb index f1929e1..e018d74 100644 --- a/lib/method_source/source_location.rb +++ b/lib/method_source/source_location.rb @@ -44,6 +44,20 @@ module MethodSource Class.new { include(method_owner) } end + # deal with immediate values + case + when klass == Symbol + return :a.method(name).source_location + when klass == Fixnum + return 0.method(name).source_location + when klass == TrueClass + return true.method(name).source_location + when klass == FalseClass + return false.method(name).source_location + when klass == NilClass + return nil.method(name).source_location + end + begin klass.allocate.method(name).source_location rescue TypeError |