Project

General

Profile

Feature #10663

Consider adding support for String input to File. methods

Added by shevegen (Robert A. Heiler) over 4 years ago. Updated over 4 years ago.

Status:
Open
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:67167]

Description

Hi,

Consider a file called 'test.rb'

We can change its permission with File.chmod like so:

File.chmod 444,'test.rb'

This should make it readable (world, group, owner)

and I believe it would be synonymous to

chmod +r test.rb

on the commandline.

In Ruby, this here does not work:

File.chmod '+r','test.rb'
TypeError: no implicit conversion of String into Integer

Is there a reason why it must be an Integer? If Strings would
be allowed then we could also use those abbreviations like
'+r' just as we can with the commandline utility chmod.

History

Updated by normalperson (Eric Wong) over 4 years ago

Try FileUtils.chmod instead. FileUtils is where the higher-level
stuff goes, I think.

Updated by duerst (Martin Dürst) over 4 years ago

Robert A. Heiler wrote:

File.chmod 444,'test.rb'

I think this should be
File.chmod 0444,'test.rb'

At least that's what the documentation says.

In Ruby, this here does not work:

File.chmod '+r','test.rb'

Eric Wong wrote:

Try FileUtils.chmod instead. FileUtils is where the higher-level
stuff goes, I think.

In general, this is true. But I think it's not a good idea to have two methods with the same functionality but slightly different sets of accepted parameters.

Also available in: Atom PDF