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|