ruby-changes:17640
From: kou <ko1@a...>
Date: Sat, 30 Oct 2010 23:39:30 +0900 (JST)
Subject: [ruby-changes:17640] Ruby:r29648 (trunk): * lib/rexml/encoding.rb: untabify.
kou 2010-10-30 23:39:20 +0900 (Sat, 30 Oct 2010) New Revision: 29648 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=29648 Log: * lib/rexml/encoding.rb: untabify. Modified files: trunk/ChangeLog trunk/lib/rexml/encoding.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 29647) +++ ChangeLog (revision 29648) @@ -1,3 +1,7 @@ +Sat Oct 30 23:38:59 2010 Kouhei Sutou <kou@c...> + + * lib/rexml/encoding.rb: untabify. + Sat Oct 30 21:06:37 2010 Kouhei Sutou <kou@c...> * lib/rexml/encoding.rb: use Ruby native encoding mechnism. Index: lib/rexml/encoding.rb =================================================================== --- lib/rexml/encoding.rb (revision 29647) +++ lib/rexml/encoding.rb (revision 29648) @@ -1,22 +1,21 @@ -# -*- mode: ruby; ruby-indent-level: 2; indent-tabs-mode: t; tab-width: 2 -*- vim: sw=2 ts=2 module REXML module Encoding # ID ---> Encoding object - attr_reader :encoding + attr_reader :encoding def encoding=(encoding) - if encoding.is_a?(String) - original_encoding = encoding - encoding = find_encoding(encoding) - unless encoding - raise ArgumentError, "Bad encoding name #{original_encoding}" - end - end - return false if defined?(@encoding) and encoding == @encoding - if encoding and encoding != ::Encoding::UTF_8 - @encoding = encoding - else - @encoding = ::Encoding::UTF_8 + if encoding.is_a?(String) + original_encoding = encoding + encoding = find_encoding(encoding) + unless encoding + raise ArgumentError, "Bad encoding name #{original_encoding}" + end end + return false if defined?(@encoding) and encoding == @encoding + if encoding and encoding != ::Encoding::UTF_8 + @encoding = encoding + else + @encoding = ::Encoding::UTF_8 + end true end @@ -24,44 +23,44 @@ # We have to recognize UTF-16, LSB UTF-16, and UTF-8 if xml[0, 2] == "\xfe\xff" xml[0, 2] = "" - ::Encoding::UTF_16BE + ::Encoding::UTF_16BE elsif xml[0, 2] == "\xff\xfe" xml[0, 2] = "" - ::Encoding::UTF_16LE - else - if /\A\s*<\?xml\s+version\s*=\s*(['"]).*?\1 + ::Encoding::UTF_16LE + else + if /\A\s*<\?xml\s+version\s*=\s*(['"]).*?\1 \s+encoding\s*=\s*(["'])(.*?)\2/mx =~ xml - encoding_name = $3 - if /\Autf-16\z/i =~ encoding_name - ::Encoding::UTF_16BE - else - find_encoding(encoding_name) - end - else - ::Encoding::UTF_8 - end - end + encoding_name = $3 + if /\Autf-16\z/i =~ encoding_name + ::Encoding::UTF_16BE + else + find_encoding(encoding_name) + end + else + ::Encoding::UTF_8 + end + end end - def encode(string) - string.encode(@encoding) - end + def encode(string) + string.encode(@encoding) + end - def decode(string) - string.encode(::Encoding::UTF_8, @encoding) - end + def decode(string) + string.encode(::Encoding::UTF_8, @encoding) + end - private - def find_encoding(name) - case name - when "UTF-16" - name = "UTF-16BE" - when /\Ashift-jis\z/i - name = "Shift_JIS" - when /\ACP-(\d+)\z/ - name = "CP#{$1}" - end - ::Encoding.find(name) - end + private + def find_encoding(name) + case name + when "UTF-16" + name = "UTF-16BE" + when /\Ashift-jis\z/i + name = "Shift_JIS" + when /\ACP-(\d+)\z/ + name = "CP#{$1}" + end + ::Encoding.find(name) + end end end -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/