diff --git a/ChangeLog b/ChangeLog index 6e74d3c38a..b4ce2a4780 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sat Sep 11 06:53:12 2010 Tanaka Akira + + * ext/pathname/pathname.c (path_symlink_p): Pathname#symlink? + translated from pathname.rb. + Fri Sep 10 23:03:43 2010 Tanaka Akira * ext/pathname/pathname.c (path_sticky_p): Pathname#sticky? translated diff --git a/ext/pathname/lib/pathname.rb b/ext/pathname/lib/pathname.rb index 4f3b5b9d6c..985451e8ae 100644 --- a/ext/pathname/lib/pathname.rb +++ b/ext/pathname/lib/pathname.rb @@ -486,9 +486,6 @@ end class Pathname # * FileTest * - # See FileTest.symlink?. - def symlink?() FileTest.symlink?(@path) end - # See FileTest.writable?. def writable?() FileTest.writable?(@path) end diff --git a/ext/pathname/pathname.c b/ext/pathname/pathname.c index ff3588c7f3..14b745c164 100644 --- a/ext/pathname/pathname.c +++ b/ext/pathname/pathname.c @@ -768,6 +768,15 @@ path_sticky_p(VALUE self) return rb_funcall(rb_mFileTest, rb_intern("sticky?"), 1, get_strpath(self)); } +/* + * See FileTest.symlink?. + */ +static VALUE +path_symlink_p(VALUE self) +{ + return rb_funcall(rb_mFileTest, rb_intern("symlink?"), 1, get_strpath(self)); +} + /* * == Pathname * @@ -1016,4 +1025,5 @@ Init_pathname() rb_define_method(rb_cPathname, "size", path_size, 0); 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); }