From: shyouhei@... Date: 2016-03-15T06:03:47+00:00 Subject: [ruby-core:74330] [Ruby trunk Bug#12105][Third Party's Issue] JSON.pretty_generate throws a TypeError when there is a BigDecimal object as a value Issue #12105 has been updated by Shyouhei Urabe. Status changed from Open to Third Party's Issue It works for me. Can you narrow the condition to reproduce yours? ~~~ zsh % rbenv exec irb irb(main):001:0> RUBY_VERSION => "2.3.0" irb(main):002:0> require 'json' => true irb(main):003:0> require 'bigdecimal' => true irb(main):004:0> hash = {"x" => BigDecimal('50.0')} => {"x"=>#} irb(main):005:0> JSON.pretty_generate(hash) => "{\n \"x\": \"0.5E2\"\n}" irb(main):006:0> ~~~ ---------------------------------------- Bug #12105: JSON.pretty_generate throws a TypeError when there is a BigDecimal object as a value https://bugs.ruby-lang.org/issues/12105#change-57454 * Author: Adnan Abdulally * Status: Third Party's Issue * Priority: Normal * Assignee: * ruby -v: 2.3.0 * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN ---------------------------------------- As the title states, JSON.pretty_generate throws a TypeError when there is a BigDecimal object as a value. This used to work in ruby 2.0 before upgrading in development. I havent tested to see how far back in ruby versions the error goes. Example console log of how to replicate: ` [17] pry(main)> hash = {"x" => BigDecimal('50.0')} => {"x"=>#} [18] pry(main)> JSON.pretty_generate(hash) TypeError: wrong argument type Float (expected String) from /home/adnan/.rvm/gems/ruby-2.3.0/gems/activesupport-4.2.5/lib/active_support/core_ext/object/json.rb:34:in `to_json' ` -- https://bugs.ruby-lang.org/ Unsubscribe: