diff options
Diffstat (limited to 'lib/rexml/output.rb')
-rw-r--r-- | lib/rexml/output.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/rexml/output.rb b/lib/rexml/output.rb new file mode 100644 index 0000000000..7d4ab2e13b --- /dev/null +++ b/lib/rexml/output.rb @@ -0,0 +1,22 @@ +require 'rexml/encoding' + +module REXML + class Output + include Encoding + attr_reader :encoding + def initialize real_IO, encd="iso-8859-1" + @output = real_IO + self.encoding = encd + + eval <<-EOL + alias :encode :to_#{encoding.tr('-', '_').downcase} + alias :decode :from_#{encoding.tr('-', '_').downcase} + EOL + @to_utf = encd == UTF_8 ? false : true + end + + def <<( content ) + @output << (@to_utf ? encode(content) : content) + end + end +end |