From f130bf9e2bb737c22544a3d312e2a77bffd635d4 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Wed, 28 Nov 2018 18:03:07 +0000 Subject: [PATCH] REST API with JSON content missing false values (#20788). Patch by Yuichi HARADA. git-svn-id: http://svn.redmine.org/redmine/trunk@17643 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- lib/redmine/views/builders/structure.rb | 2 +- test/unit/lib/redmine/views/builders/json_test.rb | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/redmine/views/builders/structure.rb b/lib/redmine/views/builders/structure.rb index 3f4468b8e..a473d4d58 100644 --- a/lib/redmine/views/builders/structure.rb +++ b/lib/redmine/views/builders/structure.rb @@ -47,7 +47,7 @@ module Redmine end def method_missing(sym, *args, &block) - if args.any? + if args.count > 0 if args.first.is_a?(Hash) if @struct.last.is_a?(Array) @struct.last << args.first unless block diff --git a/test/unit/lib/redmine/views/builders/json_test.rb b/test/unit/lib/redmine/views/builders/json_test.rb index 8ffb71fa7..b29fe1a65 100644 --- a/test/unit/lib/redmine/views/builders/json_test.rb +++ b/test/unit/lib/redmine/views/builders/json_test.rb @@ -18,6 +18,15 @@ require File.expand_path('../../../../../../test_helper', __FILE__) class Redmine::Views::Builders::JsonTest < ActiveSupport::TestCase + def test_nil_and_false + assert_json_output({'value' => nil}) do |b| + b.value nil + end + + assert_json_output({'value' => false}) do |b| + b.value false + end + end def test_hash assert_json_output({'person' => {'name' => 'Ryan', 'age' => 32}}) do |b| -- 2.39.5