module ActiveWebhook::Callbacks
Constants
- SUPPORTED_CALLBACKS
Public Instance Methods
trigger_created_webhook()
click to toggle source
# File lib/active_webhook/callbacks.rb, line 32 def trigger_created_webhook trigger_webhook(:created) end
trigger_deleted_webhook()
click to toggle source
# File lib/active_webhook/callbacks.rb, line 40 def trigger_deleted_webhook trigger_webhook(:deleted) end
trigger_updated_webhook()
click to toggle source
# File lib/active_webhook/callbacks.rb, line 36 def trigger_updated_webhook trigger_webhook(:updated) unless previous_changes.empty? end
trigger_webhook(key, version: nil, type: 'resource', **context)
click to toggle source
# File lib/active_webhook/callbacks.rb, line 44 def trigger_webhook(key, version: nil, type: 'resource', **context) key = [self.class.name.underscore, key].join("/") unless key.is_a?(String) context[:resource_id] ||= id context[:resource_type] ||= self.class.name ActiveWebhook.trigger(key: key, version: version, type: type, **context) end
trigger_webhooks(version: nil, only: nil, except: [], **_options)
click to toggle source
# File lib/active_webhook/callbacks.rb, line 11 def trigger_webhooks(version: nil, only: nil, except: [], **_options) callbacks = if only.nil? SUPPORTED_CALLBACKS else Array.wrap(only).map(&:to_sym) end - Array.wrap(except).map(&:to_sym) callbacks.each do |callback| unless SUPPORTED_CALLBACKS.include? callback raise InvalidCallbackError, "Invalid callback: #{callback}. Must be one of #{SUPPORTED_CALLBACKS}." end end after_commit :trigger_created_webhook, on: :create if callbacks.include?(:created) after_commit :trigger_updated_webhook, on: :update if callbacks.include?(:updated) after_commit :trigger_deleted_webhook, on: :destroy if callbacks.include?(:deleted) end