Sha256: 01d138363107e032460ab51ce667b80ca20ecf5f95dfb2926f3b2e0edbb73ebd
Contents?: true
Size: 758 Bytes
Versions: 1
Compression:
Stored size: 758 Bytes
Contents
require 'webhook_handler/version' require 'sidekiq' require 'rack' module WebhookHandler attr_reader :request attr_reader :response def self.included(klass) klass.extend ClassMethods klass.send(:include, Sidekiq::Worker) end module ClassMethods def call(env) new.call(env) end end def call(env) @request = Rack::Request.new(env) @response = Rack::Response.new if request.get? response.write('Send a POST request to this URL to trigger the webhook') elsif request.post? if respond_to?(:handle_webhook) send(:handle_webhook) else _handle_webhook end end response.finish end def _handle_webhook response.write(self.class.perform_async) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
webhook_handler-0.4.0 | lib/webhook_handler.rb |