[Rubygems-developers] Please test for a 1.3.1

Berger, Daniel Daniel.Berger at qwest.com
Tue Oct 21 17:07:31 EDT 2008


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


This communication is the property of Qwest and may contain confidential or
privileged information. Unauthorized use of this communication is strictly 
prohibited and may be unlawful.  If you have received this communication 
in error, please immediately notify the sender by reply e-mail and destroy 
all copies of the communication and any attachments.


More information about the Rubygems-developers mailing list