diff --git a/lib/jbuilder.rb b/lib/jbuilder.rb index edf048c..1290839 100644 --- a/lib/jbuilder.rb +++ b/lib/jbuilder.rb @@ -28,8 +28,8 @@ def initialize( end # Yields a builder and automatically turns the result into a JSON string - def self.encode(*args, &block) - new(*args, &block).target! + def self.encode(...) + new(...).target! end BLANK = Blank.new diff --git a/test/jbuilder_test.rb b/test/jbuilder_test.rb index eec22f1..c01fb1e 100644 --- a/test/jbuilder_test.rb +++ b/test/jbuilder_test.rb @@ -936,4 +936,11 @@ class JbuilderTest < ActiveSupport::TestCase result = JSON.load(Jbuilder.encode { |json| json.time Time.parse("2018-05-13 11:51:00.485 -0400") }) assert_equal "2018-05-13T11:51:00.485-04:00", result["time"] end + + test "encode forwards options to new" do + Jbuilder.encode(key_formatter: 1, ignore_nil: 2) do |json| + assert_equal 1, json.instance_eval{ @key_formatter } + assert_equal 2, json.instance_eval{ @ignore_nil } + end + end end