public static MutableString Read(RubyContext /*!*/ context, RubyDir /*!*/ self) { self.ThrowIfClosed(); if (self._pos + 1 > self._rawEntries.Length) { return(null); } MutableString ret; if (self._pos == -2) { ret = context.EncodePath("."); } else if (self._pos == -1) { ret = context.EncodePath(".."); } else { ret = context.EncodePath(context.Platform.GetFileName(self._rawEntries[self._pos])); } self._pos++; return(ret); }
public static RubyDir /*!*/ Each(BlockParam block, RubyDir /*!*/ self) { self.ThrowIfClosed(); RubyDir.ForEach(block, self, self._dirName); return(self); }
public static RubyDir /*!*/ Rewind(RubyDir /*!*/ self) { self.ThrowIfClosed(); self._pos = -2; return(self); }
public static MutableString /*!*/ Read(RubyDir /*!*/ self) { self.ThrowIfClosed(); if (self._pos + 1 > self._rawEntries.Length) { return(null); } MutableString ret; if (self._pos == -2) { ret = MutableString.Create("."); } else if (self._pos == -1) { ret = MutableString.Create(".."); } else { ret = MutableString.Create(Path.GetFileName(self._rawEntries[self._pos])); } self._pos++; return(ret); }
public static int SetPosition(RubyDir /*!*/ self, int pos) { self.ThrowIfClosed(); self._pos = pos - 2; return(pos); }
public static object Open(ConversionStorage <MutableString> /*!*/ toPath, BlockParam block, RubyClass /*!*/ self, object dirname) { RubyDir rd = new RubyDir(self, Protocols.CastToPath(toPath, dirname)); try { object result; block.Yield(rd, out result); return(result); } finally { Close(rd); } }
public static object Open(BlockParam block, RubyClass /*!*/ self, [NotNull] MutableString /*!*/ dirname) { RubyDir rd = new RubyDir(self, dirname); try { object result; block.Yield(rd, out result); return(result); } finally { Close(rd); } }
public static RubyDir/*!*/ Reinitialize(RubyDir/*!*/ self, [NotNull]MutableString/*!*/ dirname) { self.Close(); string strName = self.ImmediateClass.Context.DecodePath(dirname); try { self._rawEntries = self.Platform.GetFileSystemEntries(strName, "*"); } catch (Exception ex) { throw ToRubyException(ex, strName, DirectoryOperation.Open); } self._dirName = dirname.Clone(); self._pos = -2; return self; }
public static MutableString GetPath(RubyContext /*!*/ context, RubyDir /*!*/ self) { if (context.RubyOptions.Compatibility < RubyCompatibility.Ruby19) { self.ThrowIfClosed(); } else if (self.Closed) { return(null); } return(self._dirName.Clone()); }
public static RubyDir /*!*/ Reinitialize(RubyDir /*!*/ self, [NotNull] MutableString /*!*/ dirname) { self.Close(); string strName = self.ImmediateClass.Context.DecodePath(dirname); try { self._rawEntries = self.Platform.GetFileSystemEntries(strName, "*"); } catch (Exception ex) { throw ToRubyException(ex, strName, DirectoryOperation.Open); } self._dirName = dirname.Clone(); self._pos = -2; return(self); }
public static RubyDir /*!*/ Seek(RubyDir /*!*/ self, int pos) { self.ThrowIfClosed(); if (pos < 0) { self._pos = -2; } else if (pos > self._rawEntries.Length + 2) { self._pos = self._rawEntries.Length; } else { self._pos = pos - 2; } return(self); }
public static int GetCurrentPosition(RubyDir/*!*/ self) { self.ThrowIfClosed(); return self._pos + 2; }
public static int SetPosition(RubyDir/*!*/ self, int pos) { self.ThrowIfClosed(); self._pos = pos - 2; return pos; }
public static object Each(RubyContext/*!*/ context, BlockParam block, RubyDir/*!*/ self) { return self.EnumerateEntries(context, block, self); }
public static MutableString GetPath(RubyContext/*!*/ context, RubyDir/*!*/ self) { if (context.RubyOptions.Compatibility == RubyCompatibility.Ruby18) { self.ThrowIfClosed(); } else if (self.Closed) { return null; } return self._dirName.Clone(); }
public static object Open(BlockParam block, RubyClass/*!*/ self, [NotNull]MutableString/*!*/ dirname) { RubyDir rd = new RubyDir(self, dirname); try { object result; block.Yield(rd, out result); return result; } finally { Close(rd); } }
public static void Close(RubyDir/*!*/ self) { self.ThrowIfClosed(); self.Close(); }
public static RubyDir/*!*/ Seek(RubyDir/*!*/ self, int pos) { self.ThrowIfClosed(); if (pos < 0) { self._pos = -2; } else if (pos > self._rawEntries.Length + 2) { self._pos = self._rawEntries.Length; } else { self._pos = pos - 2; } return self; }
public static object Each(RubyContext /*!*/ context, BlockParam block, RubyDir /*!*/ self) { return(self.EnumerateEntries(context, block, self)); }
public static MutableString/*!*/ GetPath(RubyDir/*!*/ self) { self.ThrowIfClosed(); return self._dirName; }
public static RubyDir/*!*/ Each(BlockParam block, RubyDir/*!*/ self) { self.ThrowIfClosed(); RubyDir.ForEach(block, self, self._dirName); return self; }
public static void Close(RubyDir/*!*/ self) { self.ThrowIfClosed(); self._closed = true; }
public static int GetCurrentPosition(RubyDir /*!*/ self) { self.ThrowIfClosed(); return(self._pos + 2); }
public static MutableString/*!*/ Read(RubyDir/*!*/ self) { self.ThrowIfClosed(); if (self._pos + 1 > self._rawEntries.Length) { return null; } MutableString ret; if (self._pos == -2) { ret = MutableString.CreateAscii("."); } else if (self._pos == -1) { ret = MutableString.CreateAscii(".."); } else { ret = MutableString.Create(Path.GetFileName(self._rawEntries[self._pos]), RubyEncoding.Path); } self._pos++; return ret; }
public static MutableString Read(RubyContext/*!*/ context, RubyDir/*!*/ self) { self.ThrowIfClosed(); if (self._pos + 1 > self._rawEntries.Length) { return null; } MutableString ret; if (self._pos == -2) { ret = context.EncodePath("."); } else if (self._pos == -1) { ret = context.EncodePath(".."); } else { ret = context.EncodePath(context.Platform.GetFileName(self._rawEntries[self._pos])); } self._pos++; return ret; }
public static void Close(RubyDir /*!*/ self) { self.ThrowIfClosed(); self._closed = true; }
public static RubyDir/*!*/ Rewind(RubyDir/*!*/ self) { self.ThrowIfClosed(); self._pos = -2; return self; }
public static void Close(RubyDir /*!*/ self) { self.ThrowIfClosed(); self.Close(); }
public static object Open(ConversionStorage<MutableString>/*!*/ toPath, BlockParam block, RubyClass/*!*/ self, object dirname) { RubyDir rd = new RubyDir(self, Protocols.CastToPath(toPath, dirname)); try { object result; block.Yield(rd, out result); return result; } finally { Close(rd); } }
public static MutableString /*!*/ GetPath(RubyDir /*!*/ self) { self.ThrowIfClosed(); return(self._dirName); }