summaryrefslogtreecommitdiff
path: root/lib/json/pure/parser.rb
diff options
context:
space:
mode:
authorFlorian Frank <flori@ping.de>2010-08-06 04:02:47 +0200
committerFlorian Frank <flori@ping.de>2010-08-06 04:02:47 +0200
commit8095392057046800e07e445ca121c0aa3bc51c39 (patch)
tree7728707e344851089d5778b96f406d541643e804 /lib/json/pure/parser.rb
parent7bcff4cc5de6b484393de8adb4f4d4488df669e6 (diff)
downloadjson-8095392057046800e07e445ca121c0aa3bc51c39.tar.gz
make sure to use toplevel ::Encoding
Diffstat (limited to 'lib/json/pure/parser.rb')
-rw-r--r--lib/json/pure/parser.rb17
1 files changed, 9 insertions, 8 deletions
diff --git a/lib/json/pure/parser.rb b/lib/json/pure/parser.rb
index f6de8d1..41b8ac7 100644
--- a/lib/json/pure/parser.rb
+++ b/lib/json/pure/parser.rb
@@ -70,24 +70,25 @@ module JSON
# * *array_class*: Defaults to Array
def initialize(source, opts = {})
if defined?(::Encoding)
- if source.encoding == Encoding::ASCII_8BIT
+ if source.encoding == ::Encoding::ASCII_8BIT
b = source[0, 4].bytes.to_a
source = case
when b.size >= 4 && b[0] == 0 && b[1] == 0 && b[2] == 0
- source.dup.force_encoding(Encoding::UTF_32BE).encode!(Encoding::UTF_8)
+ source.dup.force_encoding(::Encoding::UTF_32BE).encode!(::Encoding::UTF_8)
when b.size >= 4 && b[0] == 0 && b[2] == 0
- source.dup.force_encoding(Encoding::UTF_16BE).encode!(Encoding::UTF_8)
+ source.dup.force_encoding(::Encoding::UTF_16BE).encode!(::Encoding::UTF_8)
when b.size >= 4 && b[1] == 0 && b[2] == 0 && b[3] == 0
- source.dup.force_encoding(Encoding::UTF_32LE).encode!(Encoding::UTF_8)
+ source.dup.force_encoding(::Encoding::UTF_32LE).encode!(::Encoding::UTF_8)
+
when b.size >= 4 && b[1] == 0 && b[3] == 0
- source.dup.force_encoding(Encoding::UTF_16LE).encode!(Encoding::UTF_8)
+ source.dup.force_encoding(::Encoding::UTF_16LE).encode!(::Encoding::UTF_8)
else
source.dup
end
else
- source = source.encode(Encoding::UTF_8)
+ source = source.encode(::Encoding::UTF_8)
end
- source.force_encoding(Encoding::ASCII_8BIT)
+ source.force_encoding(::Encoding::ASCII_8BIT)
else
b = source
source = case
@@ -180,7 +181,7 @@ module JSON
end
end
if string.respond_to?(:force_encoding)
- string.force_encoding(Encoding::UTF_8)
+ string.force_encoding(::Encoding::UTF_8)
end
string
else