/// <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"); }
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); }