Permission problem under WinXP


#1

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


#2

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


#3

On Nov 24, 11:55 pm, Daniel B. removed_email_address@domain.invalid 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 :slight_smile:

Thank you very much for post such a neat solution.

Best wishes,
Richard


#4

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


#5

On Nov 24, 11:55 pm, Daniel B. removed_email_address@domain.invalid 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