blob: 7d4ab2e13bc3cf027e220bdb0e24e2a3165334d9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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
|