Module: TransactionalOutbox::Event::Payloadable
- Included in:
- TransactionalOutbox::Event
- Defined in:
- lib/transactional_outbox/event/payloadable.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#prepare_payload(&block) ⇒ Object
rubocop:disable Naming/MemoizedInstanceVariableName.
Class Method Details
.extended(klass) ⇒ Object
6 7 8 9 10 11 12 |
# File 'lib/transactional_outbox/event/payloadable.rb', line 6 def self.extended(klass) klass.define_method(:build_payload) do |context| builder = self.class.instance_variable_get(:@payload) || TransactionalOutbox::DEFAULT_PAYLOAD_BUILDER_BLOCK instance_exec(context, &builder) end end |
Instance Method Details
#prepare_payload(&block) ⇒ Object
rubocop:disable Naming/MemoizedInstanceVariableName
14 |
# File 'lib/transactional_outbox/event/payloadable.rb', line 14 def prepare_payload(&block) = @payload ||= block # rubocop:disable Naming/MemoizedInstanceVariableName |