Forum: Ruby Permission problem under WinXP

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
31fdda5f38fc6df4e193cfb7445ddc5a?d=identicon&s=25 RichardOnRails (Guest)
on 2008-11-25 05:40
(Received via mailing list)
Hi All,

I generated a Ruby on Rails app, which among other things,  had to
import content from a bunch of CSV files from time to time.  When I
generated the app,  I had a typo: I used cvs instead of csv.  When I
started coding,  I used csv.  It got to be a mess.  Being pigheaded I
decided to write a ruby script to transform all file-names and file
content to conform to csv.

The transformation script is posted at http://www.pastie.org/323198.
I've tested the code thoroughly, so I think its really a Windows
problem:  it's keeping a lock on the file(s) I'm using despite the
fact that I issued Ruby close commands.

I wonder if anyone has a quick fix for this problem.  If not,  I'll
walk the extra mile and write my filename changes to disk and write a
stand-alone app to apply those changes.  But if there's a slick way to
solves this,  I'd like to learn it.

Thanks in Advance,
Richard
Aee77dba395ece0a04c688b05b07cd63?d=identicon&s=25 Daniel Berger (djberg96)
on 2008-11-25 06:00
(Received via mailing list)
RichardOnRails wrote:
> I've tested the code thoroughly, so I think its really a Windows
> problem:  it's keeping a lock on the file(s) I'm using despite the
> fact that I issued Ruby close commands.
>
> I wonder if anyone has a quick fix for this problem.  If not,  I'll
> walk the extra mile and write my filename changes to disk and write a
> stand-alone app to apply those changes.  But if there's a slick way to
> solves this,  I'd like to learn it.

Line 26:

data = File.open(name).readlines

There's your open handle. Replace that with:

IO.readlines(name)

Regards,

Dan
31fdda5f38fc6df4e193cfb7445ddc5a?d=identicon&s=25 RichardOnRails (Guest)
on 2008-11-25 06:11
(Received via mailing list)
On Nov 24, 11:55 pm, Daniel Berger <djber...@gmail.com> wrote:
> > The transformation script is posted athttp://www.pastie.org/323198.
>
> data = File.open(name).readlines
>
> There's your open handle. Replace that with:
>
> IO.readlines(name)
>
> Regards,
>
> Dan

Hi Dan,

I just wrote my son,  for whom I'm writing this app,  that I was
hoping I'd get a magic bullet so that I didn't have to write my array
of name-changes to disk, read them in in second program and copy in my
change algorithm.

> There's your open handle ...

And there's my magic bullet.  Now I have to apologize for falsely
claiming that Windows was at fault :-)

Thank you very much for post such a neat solution.

Best wishes,
Richard
31fdda5f38fc6df4e193cfb7445ddc5a?d=identicon&s=25 RichardOnRails (Guest)
on 2008-11-25 06:25
(Received via mailing list)
On Nov 24, 11:55 pm, Daniel Berger <djber...@gmail.com> wrote:
> > The transformation script is posted athttp://www.pastie.org/323198.
>
> data = File.open(name).readlines
>
> There's your open handle. Replace that with:
>
> IO.readlines(name)
>
> Regards,
>
> Dan

Hey Dan,

Final word: It worked perfectly.  Many thanks.

Best wishes,
Richard
Aee77dba395ece0a04c688b05b07cd63?d=identicon&s=25 Daniel Berger (djberg96)
on 2008-11-25 06:56
(Received via mailing list)
RichardOnRails wrote:
>>> I've tested the code thoroughly, so I think its really a Windows
>> There's your open handle. Replace that with:
>>
>> IO.readlines(name)
>>
>> Regards,
>>
>> Dan
>
> Hey Dan,
>
> Final word: It worked perfectly.  Many thanks.

Excellent, glad to hear it.

Regards,

Dan
This topic is locked and can not be replied to.