diff --git a/ChangeLog b/ChangeLog index 1f10db7d10..90bdbd8977 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sun Sep 12 09:16:06 2010 Tanaka Akira + + * ext/pathname/pathname.c (path_writable_p): Pathname#writable? + translated from pathname.rb. + Sun Sep 12 08:36:15 2010 Tanaka Akira * process.c (rlimit_resource_name2int): support more limits: diff --git a/ext/pathname/lib/pathname.rb b/ext/pathname/lib/pathname.rb index 985451e8ae..ec6fc3fcf3 100644 --- a/ext/pathname/lib/pathname.rb +++ b/ext/pathname/lib/pathname.rb @@ -486,9 +486,6 @@ end class Pathname # * FileTest * - # See FileTest.writable?. - def writable?() FileTest.writable?(@path) end - # See FileTest.world_writable?. def world_writable?() FileTest.world_writable?(@path) end diff --git a/ext/pathname/pathname.c b/ext/pathname/pathname.c index 14b745c164..0129a48d04 100644 --- a/ext/pathname/pathname.c +++ b/ext/pathname/pathname.c @@ -777,6 +777,15 @@ path_symlink_p(VALUE self) return rb_funcall(rb_mFileTest, rb_intern("symlink?"), 1, get_strpath(self)); } +/* + * See FileTest.writable?. + */ +static VALUE +path_writable_p(VALUE self) +{ + return rb_funcall(rb_mFileTest, rb_intern("writable?"), 1, get_strpath(self)); +} + /* * == Pathname * @@ -1026,4 +1035,5 @@ Init_pathname() rb_define_method(rb_cPathname, "size?", path_size_p, 0); rb_define_method(rb_cPathname, "sticky?", path_sticky_p, 0); rb_define_method(rb_cPathname, "symlink?", path_symlink_p, 0); + rb_define_method(rb_cPathname, "writable?", path_writable_p, 0); }