method
encoding=
encoding=( enc )
public
Hide source
# File lib/rexml/encoding.rb, line 23 def encoding=( enc ) old_verbosity = $VERBOSE begin $VERBOSE = false enc = enc.nil? ? nil : enc.upcase return false if defined? @encoding and enc == @encoding if enc and enc != UTF_8 @encoding = enc raise ArgumentError, "Bad encoding name #@encoding" unless @encoding =~ /^[\w-]+$/ @encoding.untaint begin require 'rexml/encodings/ICONV.rb' Encoding.apply(self, "ICONV") rescue LoadError, Exception begin enc_file = File.join( "rexml", "encodings", "#@encoding.rb" ) require enc_file Encoding.apply(self, @encoding) rescue LoadError => err puts err.message raise ArgumentError, "No decoder found for encoding #@encoding. Please install iconv." end end else @encoding = UTF_8 require 'rexml/encodings/UTF-8.rb' Encoding.apply(self, @encoding) end ensure $VERBOSE = old_verbosity end true end