summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiroshi SHIBATA <hsbt@ruby-lang.org>2019-11-29 12:50:03 +0900
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2019-11-29 12:50:03 +0900
commitbfe61e17f97d6a2e376c994319aa709e8625e33a (patch)
tree2a49df53cc0fd56b8ee72184a42eb82fe9d20219
parente5e9a7781831bc3acd48854cd860e92b53c568f0 (diff)
parent927c1672c6aaafb45d11e7ac8cad8f7c3a8fb0b6 (diff)
downloadjson-bfe61e17f97d6a2e376c994319aa709e8625e33a.tar.gz
Merge branch 'zenspider/ruby-2.7' of https://github.com/zenspider/json into zenspider-zenspider/ruby-2.7
-rw-r--r--.travis.yml1
-rw-r--r--Rakefile4
-rwxr-xr-x[-rw-r--r--]json-java.gemspec6
-rw-r--r--json_pure.gemspec13
-rw-r--r--lib/json/pure/generator.rb3
-rw-r--r--lib/json/pure/parser.rb10
6 files changed, 22 insertions, 15 deletions
diff --git a/.travis.yml b/.travis.yml
index 1ac58d8..2962e9d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -12,6 +12,7 @@ rvm:
- 2.4
- 2.5
- 2.6
+ - 2.7.0-preview2
- ruby-head
- jruby
matrix:
diff --git a/Rakefile b/Rakefile
index ce39095..41f822c 100644
--- a/Rakefile
+++ b/Rakefile
@@ -89,7 +89,7 @@ if defined?(Gem) and defined?(Gem::PackageTask)
s.require_path = 'lib'
s.add_development_dependency 'rake'
- s.add_development_dependency 'test-unit', '~> 2.0'
+ s.add_development_dependency 'test-unit', '~> 3.0'
s.extra_rdoc_files << 'README.md'
s.rdoc_options <<
@@ -127,7 +127,7 @@ if defined?(Gem) and defined?(Gem::PackageTask)
s.require_path = 'lib'
s.add_development_dependency 'rake'
- s.add_development_dependency 'test-unit', '~> 2.0'
+ s.add_development_dependency 'test-unit', '~> 3.0'
s.extra_rdoc_files << 'README.md'
s.rdoc_options <<
diff --git a/json-java.gemspec b/json-java.gemspec
index f3fa0c9..c99ed89 100644..100755
--- a/json-java.gemspec
+++ b/json-java.gemspec
@@ -19,14 +19,14 @@ spec = Gem::Specification.new do |s|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
s.add_development_dependency(%q<rake>, [">= 0"])
- s.add_development_dependency(%q<test-unit>, ["~> 2.0"])
+ s.add_development_dependency(%q<test-unit>, ["~> 3.0"])
else
s.add_dependency(%q<rake>, [">= 0"])
- s.add_dependency(%q<test-unit>, ["~> 2.0"])
+ s.add_dependency(%q<test-unit>, ["~> 3.0"])
end
else
s.add_dependency(%q<rake>, [">= 0"])
- s.add_dependency(%q<test-unit>, ["~> 2.0"])
+ s.add_dependency(%q<test-unit>, ["~> 3.0"])
end
end
diff --git a/json_pure.gemspec b/json_pure.gemspec
index 1dffb22..6ee2f4d 100644
--- a/json_pure.gemspec
+++ b/json_pure.gemspec
@@ -23,16 +23,13 @@ Gem::Specification.new do |s|
if s.respond_to? :specification_version then
s.specification_version = 4
+ end
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
- s.add_development_dependency(%q<rake>.freeze, [">= 0"])
- s.add_development_dependency(%q<test-unit>.freeze, ["~> 2.0"])
- else
- s.add_dependency(%q<rake>.freeze, [">= 0"])
- s.add_dependency(%q<test-unit>.freeze, ["~> 2.0"])
- end
+ if s.respond_to? :add_runtime_dependency then
+ s.add_development_dependency(%q<rake>.freeze, [">= 0"])
+ s.add_development_dependency(%q<test-unit>.freeze, ["~> 3.0"])
else
s.add_dependency(%q<rake>.freeze, [">= 0"])
- s.add_dependency(%q<test-unit>.freeze, ["~> 2.0"])
+ s.add_dependency(%q<test-unit>.freeze, ["~> 3.0"])
end
end
diff --git a/lib/json/pure/generator.rb b/lib/json/pure/generator.rb
index ccb6fe4..a1143f8 100644
--- a/lib/json/pure/generator.rb
+++ b/lib/json/pure/generator.rb
@@ -250,7 +250,8 @@ module JSON
if respond_to?(name)
__send__(name)
else
- instance_variable_get("@#{name}")
+ instance_variable_get("@#{name}") if
+ instance_variables.include?("@#{name}".to_sym) # avoid warning
end
end
diff --git a/lib/json/pure/parser.rb b/lib/json/pure/parser.rb
index 3a6343b..5340296 100644
--- a/lib/json/pure/parser.rb
+++ b/lib/json/pure/parser.rb
@@ -197,7 +197,15 @@ module JSON
def parse_value
case
when scan(FLOAT)
- @decimal_class && @decimal_class.new(self[1]) || Float(self[1])
+ if @decimal_class then
+ if @decimal_class == BigDecimal then
+ BigDecimal(self[1])
+ else
+ @decimal_class.new(self[1]) || Float(self[1])
+ end
+ else
+ Float(self[1])
+ end
when scan(INTEGER)
Integer(self[1])
when scan(TRUE)