class Cucumber::Formatter::MessageBuilder
def attach(src, media_type, filename)
def attach(src, media_type, filename) attachment_data = { test_step_id: @current_test_step_id, test_case_started_id: @current_test_case_started_id, media_type: media_type, file_name: filename } if media_type.start_with?('text/') attachment_data[:content_encoding] = Cucumber::Messages::AttachmentContentEncoding::IDENTITY attachment_data[:body] = src else body = src.respond_to?(:read) ? src.read : src attachment_data[:content_encoding] = Cucumber::Messages::AttachmentContentEncoding::BASE64 attachment_data[:body] = Base64.strict_encode64(body) end message = Cucumber::Messages::Envelope.new( attachment: Cucumber::Messages::Attachment.new(**attachment_data) ) output_envelope(message) end