public static RubyIO CreateIO(RubyClass /*!*/ self, [Optional] MutableString initialString, [Optional] MutableString mode) { MutableStringStream stream = new MutableStringStream(initialString ?? MutableString.CreateBinary()); string ioMode = (mode != null) ? mode.ConvertToString() : "rb+"; return(new StringIO(self.Context, stream, ioMode)); }
public static MutableString JsonCreate(ConversionStorage <IntegerValue> /*!*/ integerConversion, RubyClass /*!*/ self, Hash /*!*/ creatable) { RubyArray raw = (RubyArray)creatable[MutableString.CreateAscii("raw")]; MutableStringStream stream = new MutableStringStream(); for (int i = 0; i < raw.Count; i++) { stream.WriteByte(unchecked ((byte)Protocols.CastToUInt32Unchecked(integerConversion, raw[i]))); } return(stream.String); }
public static object OpenIO([NotNull] BlockParam /*!*/ block, RubyClass /*!*/ self, [Optional] MutableString initialString, [Optional] MutableString mode) { MutableStringStream stream = new MutableStringStream(initialString ?? MutableString.CreateBinary()); string ioMode = (mode != null) ? mode.ConvertToString() : "rb+"; RubyIO io = new StringIO(self.Context, stream, ioMode); object result; block.Yield(io, out result); if (!io.Closed) { io.Close(); } return(result); }
protected StringIO(RubyContext /*!*/ context, MutableStringStream /*!*/ stream, string /*!*/ mode) : base(context, stream, mode) { }