lib/cucumber/messages/protobuf_ndjson.rb
require 'json' module Cucumber module Messages module WriteNdjson def write_ndjson_to(io) # https://github.com/ruby-protobuf/protobuf/pull/410 json = self.to_json(lower_camel_case: true) ob = JSON.parse(json) remove_empties(ob) io.puts(JSON.generate(ob)) end def remove_empties(ob) if Hash === ob ob.each do |key, value| if value == [] || value == '' || value == 0 ob.delete(key) else remove_empties(value) end end elsif Array === ob ob.each do |value| remove_empties(value) end end end end end end