summaryrefslogtreecommitdiff
path: root/lib/rexml/output.rb
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