IronRuby.Builtins.RubyBufferedStream.ReadLineOrParagraph C# (CSharp) Method

ReadLineOrParagraph() public method

public ReadLineOrParagraph ( MutableString separator, IronRuby.Builtins.RubyEncoding encoding, bool preserveEndOfLines, int limit ) : MutableString
separator MutableString
encoding IronRuby.Builtins.RubyEncoding
preserveEndOfLines bool
limit int
return MutableString
        public MutableString ReadLineOrParagraph(MutableString separator, RubyEncoding/*!*/ encoding, bool preserveEndOfLines, int limit) {
            ContractUtils.Requires(limit >= 0);

            if (limit == 0) {
                return MutableString.CreateEmpty();
            } else if (separator == null) {
                var result = MutableString.CreateBinary();
                return AppendBytes(result, limit, preserveEndOfLines) == 0 ? null : result;
            } else if (separator.StartsWith('\n') && separator.GetLength() == 1) {
                return ReadLine(encoding, preserveEndOfLines, limit);
            } else if (separator.IsEmpty) {
                return ReadParagraph(encoding, preserveEndOfLines, limit);
            } else {
                return ReadLine(separator, encoding, preserveEndOfLines, limit);
            }
        }