Пример #1
0
        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));
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
 protected StringIO(RubyContext /*!*/ context, MutableStringStream /*!*/ stream, string /*!*/ mode)
     : base(context, stream, mode)
 {
 }