From dde88fb82284c5fabd605f36667937186b385241 Mon Sep 17 00:00:00 2001 From: Luke Hill Date: Tue, 26 May 2026 15:36:45 +0100 Subject: [PATCH 1/2] Add #to_envelope for gherkin document --- lib/cucumber/core/gherkin/document.rb | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/lib/cucumber/core/gherkin/document.rb b/lib/cucumber/core/gherkin/document.rb index c8dd1fa2..a869f6d6 100644 --- a/lib/cucumber/core/gherkin/document.rb +++ b/lib/cucumber/core/gherkin/document.rb @@ -7,17 +7,27 @@ class Document attr_reader :uri, :body, :language def initialize(uri, body, language = nil) - @uri = uri - @body = body + @uri = uri + @body = body @language = language || 'en' end + def ==(other) + to_s == other.to_s + end + def to_s body end - def ==(other) - to_s == other.to_s + def to_envelope + Cucumber::Messages::Envelope.new( + source: Cucumber::Messages::Source.new( + uri: uri, + data: body, + media_type: 'text/x.cucumber.gherkin+plain' + ) + ) end end end From 9ff56f27f202c6b9062c0296e75e8ecff7b99a2c Mon Sep 17 00:00:00 2001 From: Luke Hill Date: Tue, 26 May 2026 15:39:17 +0100 Subject: [PATCH 2/2] Add changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 80796d89..7a762649 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,9 @@ This document is formatted according to the principles of [Keep A CHANGELOG](htt Please visit [cucumber/CONTRIBUTING.md](https://github.com/cucumber/cucumber/blob/master/CONTRIBUTING.md) for more info on how to contribute to Cucumber. ## [Unreleased] +### Added +- Added `#to_envelope` for `Cucumber::Core::Gherkin::Document` ([#329](https://github.com/cucumber/cucumber-ruby-core/pull/329)) + ### Changed - Refactored the internal base `Event` class to reduce complexity and make it more flexible for future use (No user facing changes)