summaryrefslogtreecommitdiff
path: root/lib/rexml/encoding.rb
diff options
context:
space:
mode:
authorkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-10-30 14:39:20 +0000
committerkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-10-30 14:39:20 +0000
commit2b82e06aaf112d8ebb48c5424940cb08e738d9b4 (patch)
tree79868914828ff579467f7e05574688075f85fe12 /lib/rexml/encoding.rb
parent5d670c376e1565ba07719769e540786e360aea9f (diff)
* lib/rexml/encoding.rb: untabify.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rexml/encoding.rb')
-rw-r--r--lib/rexml/encoding.rb91
1 files changed, 45 insertions, 46 deletions
diff --git a/lib/rexml/encoding.rb b/lib/rexml/encoding.rb
index 0c4a88fbeb..3e7bdfb6aa 100644
--- a/lib/rexml/encoding.rb
+++ b/lib/rexml/encoding.rb
@@ -1,21 +1,20 @@
-# -*- 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 @@ module REXML
# 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