diff options
author | ser <ser@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-10-10 12:54:46 +0000 |
---|---|---|
committer | ser <ser@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-10-10 12:54:46 +0000 |
commit | 7d21c237ccd46ec1d56639ce53b5882bf97d9de3 (patch) | |
tree | e9667617b9228d24dbb9833bec2c3d1be0293cb9 /lib/rexml/encodings/ICONV.rb | |
parent | 662532be008867582fc86dd813dcf8f6a79136eb (diff) | |
download | ruby-7d21c237ccd46ec1d56639ce53b5882bf97d9de3.tar.gz |
* Changes to the encoding mechanism. If iconv is found, it is used first
for encoding changes. This should be the case on all 1.8 installations.
When it isn't found (<1.6), the native REXML encoding mechanism is used.
This cleaned out some files, and tightened up the code a bit; and iconv
should be faster than the pure Ruby code.
* Changed deprecated assert_not_nil to assert throughout the tests.
* Parse exceptions are a little more verbose, and extend RuntimeError.
* Bug fixes to XPathParser
* The Light API is still shifting, like the sands of the desert.
* Fixed a new Ruby 1.8.0 warning, added some speed optimizations, and
tightened error reporting in the base parser
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rexml/encodings/ICONV.rb')
-rw-r--r-- | lib/rexml/encodings/ICONV.rb | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/rexml/encodings/ICONV.rb b/lib/rexml/encodings/ICONV.rb new file mode 100644 index 0000000000..f1b5c80b87 --- /dev/null +++ b/lib/rexml/encodings/ICONV.rb @@ -0,0 +1,14 @@ +require "iconv" +raise LoadError unless defined? Iconv + +module REXML + module Encoding + def decode( str ) + return Iconv::iconv(UTF_8, @encoding, str)[0] + end + + def encode( content ) + return Iconv::iconv(@encoding, UTF_8, content)[0] + end + end +end |