lib/bootsnap/compile_cache/json.rb in bootsnap-1.12.0 vs lib/bootsnap/compile_cache/json.rb in bootsnap-1.13.0

- old
+ new

@@ -49,15 +49,20 @@ require("json") require("msgpack") self.msgpack_factory = MessagePack::Factory.new self.supported_options = [:symbolize_names] - if ::JSON.parse('["foo"]', freeze: true).first.frozen? - if MessagePack.load(MessagePack.dump("foo"), freeze: true).frozen? - self.supported_options = [:freeze] - end + if supports_freeze? + self.supported_options = [:freeze] end supported_options.freeze + end + + private + + def supports_freeze? + ::JSON.parse('["foo"]', freeze: true).first.frozen? && + MessagePack.load(MessagePack.dump("foo"), freeze: true).frozen? end end module Patch def load_file(path, *args)