public static int SysOpen(RubyClass /*!*/ self, [NotNull] MutableString path, [Optional] MutableString mode, [Optional] int perm) { if (RubyFileOps.DirectoryExists(self.Context, path)) { // TODO: What file descriptor should be returned for a directory? return(-1); } RubyIO io = new RubyFile(self.Context, path.ToString(), IOModeEnum.Parse(mode)); int fileDesc = io.GetFileDescriptor(); io.Close(); return(fileDesc); }
public static object ChangeDirectory(RubyContext /*!*/ context, object self) { #if !SILVERLIGHT string defaultDirectory = RubyFileOps.GetHomeDirectory(context); if (defaultDirectory == null) { throw RubyExceptions.CreateArgumentError("HOME / USERPROFILE not set"); } return(ChangeDirectory(self, MutableString.Create(defaultDirectory))); #else throw new InvalidOperationException(); #endif }
public static bool IsFile(RubyModule /*!*/ self, [DefaultProtocol, NotNull] MutableString /*!*/ path) { return(RubyFileOps.FileExists(self.Context, path)); }
public static bool Exists(RubyClass /*!*/ self, [DefaultProtocol, NotNull] MutableString /*!*/ path) { return(RubyFileOps.Exists(self, path)); }
public static bool Exists(ConversionStorage <MutableString> /*!*/ toPath, RubyModule /*!*/ self, object path) { return(RubyFileOps.DirectoryExists(self.Context, Protocols.CastToPath(toPath, path))); }