Module: Portage::Ucp::WireEnvelope
- Defined in:
- lib/portage/ucp/wire_envelope.rb
Overview
Adds the "ucp" response envelope UCP requires on Cart/Checkout/Order payloads (schemas/ucp.json's response_cart_schema/response_checkout_schema/ response_order_schema) — centralized here so the version string and each capability's minimum envelope shape live in one place, not duplicated across value objects.
Constant Summary collapse
- SPEC_VERSION =
"2026-04-08".freeze
- ENVELOPES =
{ "dev.ucp.shopping.cart" => -> { { "version" => SPEC_VERSION } }, "dev.ucp.shopping.checkout" => -> { { "version" => SPEC_VERSION, "payment_handlers" => {} } }, "dev.ucp.shopping.order" => -> { { "version" => SPEC_VERSION } } }.freeze
Class Method Summary collapse
Class Method Details
.wrap(capability_name, payload_hash) ⇒ Object
17 18 19 20 21 22 |
# File 'lib/portage/ucp/wire_envelope.rb', line 17 def self.wrap(capability_name, payload_hash) envelope = ENVELOPES[capability_name] return payload_hash unless envelope payload_hash.merge("ucp" => envelope.call) end |