module Webhook::Triggerable extend ActiveSupport::Concern included do scope :triggered_by, ->(event) { where(collection: event.collection).triggered_by_action(event.action) } scope :triggered_by_action, ->(action) { where("subscribed_actions LIKE ?", "%\"#{action}\"%") } end def trigger(event) deliveries.create!(event: event) end end