Class: Idempotence::Reservation
- Inherits:
-
Object
- Object
- Idempotence::Reservation
- Includes:
- Log::Dependency
- Defined in:
- lib/idempotence/reservation/reservation.rb
Defined Under Namespace
Modules: Substitute
Constant Summary collapse
- METADATA_NAME =
:reserved
Class Method Summary collapse
Instance Method Summary collapse
- #call(message, idempotence_key, &block) ⇒ Object
- #configure(session: nil) ⇒ Object
- #handle_reserved_message(message) {|message| ... } ⇒ Object
Class Method Details
.build(session: nil) ⇒ Object
16 17 18 19 20 |
# File 'lib/idempotence/reservation/reservation.rb', line 16 def self.build(session: nil) instance = new instance.configure(session: session) instance end |
.call(message, idempotence_key, session: nil) ⇒ Object
11 12 13 14 |
# File 'lib/idempotence/reservation/reservation.rb', line 11 def self.call(, idempotence_key, session: nil) instance = build(session: session) instance.(, idempotence_key) end |
Instance Method Details
#call(message, idempotence_key, &block) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/idempotence/reservation/reservation.rb', line 26 def call(, idempotence_key, &block) logger.trace( "Handling reservation idempotence for message #{.class.name} #{..global_position}", tag: :reservation ) if reserved?() (, &block) else (, idempotence_key) end logger.info( "Handled reservation idempotence for #{.class.name} #{..global_position}", tag: :reservation ) end |
#configure(session: nil) ⇒ Object
22 23 24 |
# File 'lib/idempotence/reservation/reservation.rb', line 22 def configure(session: nil) Messaging::Postgres::Write.configure(self, session: session) end |
#handle_reserved_message(message) {|message| ... } ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/idempotence/reservation/reservation.rb', line 44 def (, &block) logger.trace( "Handling reserved message #{.class.name} #{..global_position}", tag: :reservation ) yield logger.info( "Handled reserved message #{.class.name} #{..global_position}", tag: :reservation ) end |