Method: Webhookdb.idempotency_key
- Defined in:
- lib/webhookdb.rb
.idempotency_key(instance, *parts) ⇒ Object
Generate a key for the specified Sequel model instance and any additional parts that can be used for idempotent requests.
167 168 169 170 171 172 173 174 175 176 177 178 179 |
# File 'lib/webhookdb.rb', line 167 def self.idempotency_key(instance, *parts) key = "%s-%s" % [instance.class.implicit_table_name, instance.pk] if instance.respond_to?(:updated_at) && instance.updated_at parts << instance.updated_at elsif instance.respond_to?(:created_at) && instance.created_at parts << instance.created_at end parts << SecureRandom.hex(8) if self.bust_idempotency key << "-" << parts.map(&:to_s).join("-") unless parts.empty? return key end |