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

Reply via email to