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
[email protected]
http://rubyforge.org/mailman/listinfo/rubygems-developers