diff options
Diffstat (limited to 'jni/ruby/lib/rexml/output.rb')
-rw-r--r-- | jni/ruby/lib/rexml/output.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/jni/ruby/lib/rexml/output.rb b/jni/ruby/lib/rexml/output.rb new file mode 100644 index 0000000..0c6cc7a --- /dev/null +++ b/jni/ruby/lib/rexml/output.rb @@ -0,0 +1,29 @@ +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 + + @to_utf = encoding != 'UTF-8' + + if encoding == "UTF-16" + @output << "\ufeff".encode("UTF-16BE") + self.encoding = "UTF-16BE" + end + end + + def <<( content ) + @output << (@to_utf ? self.encode(content) : content) + end + + def to_s + "Output[#{encoding}]" + end + end +end |