On Tue, Oct 21, 2008 at 6:07 PM, Berger, Daniel <[EMAIL PROTECTED]> wrote: > Hi, > > <snip> > >> >> >> >> Gem::location_of_caller is insufficient for windows paths :/ >> > >> > How does this look? >> > >> > C:\>diff -u rubygems.orig rubygems.rb >> > --- rubygems.orig Mon Sep 29 08:01:06 2008 >> > +++ rubygems.rb Tue Oct 21 14:29:27 2008 >> > @@ -479,8 +479,9 @@ >> > # The file name and line number of the caller of the >> caller of this >> > method. >> > >> > def self.location_of_caller >> > - file, lineno = caller[1].split(':') >> > - lineno = lineno.to_i >> > + caller[1] =~ /(.*?)\:(\d+)$/i >> > + file = $1 >> > + lineno = $2.to_i >> > [file, lineno] >> > end >> > >> > Regards, >> > >> >> Bummer, you beat me, hate bad internet wireless connections... >> >> I did something similar but one liner for Thor: >> >> http://github.com/luislavena/thor/commit/e66b67a684200ccd915d5 >> 808cb415ea6e5fe08c6 >> >> And of course, for the ones didn't noticed it, I suck at regexp :-P > > Mine is more verbose but less greedy. This better? > > def self.location_of_caller > caller[1] =~ /(.*?)\:(\d+)$/i > [$1, $2.to_i] # file, lineno > end > > Regards, > > Dan >
Bytes are cheap nowdays :-) I just was saying how lame my regexp skillz are :-P I like more the first one, was more clear the intention of it and I think Eric will agree, obscure code do not help you on the long run. -- Luis Lavena AREA 17 - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams _______________________________________________ Rubygems-developers mailing list Rubygems-developers@rubyforge.org http://rubyforge.org/mailman/listinfo/rubygems-developers