Skip to content

Commit 5f40b27

Browse files
committed
fix: Fix logic in specversion checks
1 parent 59a4221 commit 5f40b27

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

CLAUDE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ All errors inherit from `CloudEventsError`: `NotCloudEventError`, `UnsupportedFo
9090

9191
## Contributing
9292

93+
- Use red-green test-driven development when making changes, unless instructed otherwise.
9394
- Conventional Commits format required (`fix:`, `feat:`, `docs:`, etc.)
9495
- Commits must be signed off (`git commit --signoff`)
9596
- Run `toys ci` before submitting PRs

lib/cloud_events/kafka_binding.rb

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,10 @@ def encode_event(event, structured_format: false, key_mapper: :NOT_SET, **format
209209
if event.is_a?(Event::Opaque)
210210
return encode_opaque_event(event)
211211
end
212-
unless event.respond_to?(:spec_version) && event.spec_version.start_with?("1.")
212+
unless event.respond_to?(:spec_version)
213+
raise(SpecVersionError, "Unable to determine specversion")
214+
end
215+
unless event.spec_version.start_with?("1.")
213216
raise(SpecVersionError, "Unrecognized specversion: #{event.spec_version}")
214217
end
215218
if structured_format
@@ -286,7 +289,8 @@ def decode_structured_content(message, content_type, allow_opaque, **format_args
286289
**format_args)
287290
if result
288291
event = result[:event]
289-
if event && !(event.respond_to?(:spec_version) && event.spec_version.start_with?("1."))
292+
raise(SpecVersionError, "Unable to determine specversion") unless event.respond_to?(:spec_version)
293+
unless event.spec_version.start_with?("1.")
290294
raise(SpecVersionError, "Unrecognized specversion: #{event.spec_version}")
291295
end
292296
return event

0 commit comments

Comments
 (0)