Beispiel #1
0
        /// <summary>
        /// Returns Ruby names of all available encodings including their aliases.
        /// </summary>
        public static IEnumerable <string> GetEncodingNames()
        {
            // Ruby specific:
            yield return(RubyEncoding.Binary.Name);

            foreach (var info in Encoding.GetEncodings())
            {
                yield return(RubyEncoding.GetRubySpecificName(info.CodePage) ?? info.Name);
            }

            foreach (var alias in RubyEncoding.Aliases.Keys)
            {
                yield return(alias);
            }

            yield return("locale");

            yield return("external");

            yield return("filesystem");
        }
Beispiel #2
0
        public static RubyArray /*!*/ GetNameList(RubyClass /*!*/ self)
        {
            var infos  = Encoding.GetEncodings();
            var result = new RubyArray(1 + infos.Length);

            // Ruby specific:
            result.Add(MutableString.CreateAscii(RubyEncoding.Binary.Name));

            foreach (var info in infos)
            {
                result.Add(MutableString.Create(RubyEncoding.GetRubySpecificName(info.CodePage) ?? info.Name));
            }

            foreach (var alias in RubyEncoding.Aliases.Keys)
            {
                result.Add(MutableString.CreateAscii(alias));
            }

            result.Add(MutableString.CreateAscii("locale"));
            result.Add(MutableString.CreateAscii("external"));
            result.Add(MutableString.CreateAscii("filesystem"));

            return(result);
        }