Sha256: c60ba2e12dafb01aecba47d2b41ed22cc1673cc5495d1d15660c7df1a6b56bff

Contents?: true

Size: 795 Bytes

Versions: 10

Compression:

Stored size: 795 Bytes

Contents

# typed: strict
# frozen_string_literal: true

module ShopifyAPI
  module Webhooks
    class WebhookMetadata < T::Struct
      const :topic, String
      const :shop, String
      const :body, T::Hash[String, T.untyped]
      const :api_version, String
      const :webhook_id, String
    end

    module Handler
      include Kernel
      extend T::Sig
      extend T::Helpers
      interface!

      sig do
        abstract.params(topic: String, shop: String, body: T::Hash[String, T.untyped]).void
      end
      def handle(topic:, shop:, body:); end
    end

    module WebhookHandler
      include Kernel
      extend T::Sig
      extend T::Helpers
      interface!

      sig do
        abstract.params(data: WebhookMetadata).void
      end
      def handle(data:); end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
shopify_api-14.8.0 lib/shopify_api/webhooks/handler.rb
shopify_api-14.7.0 lib/shopify_api/webhooks/handler.rb
shopify_api-14.6.0 lib/shopify_api/webhooks/handler.rb
shopify_api-14.5.0 lib/shopify_api/webhooks/handler.rb
shopify_api-14.4.0 lib/shopify_api/webhooks/handler.rb
shopify_api-14.3.0 lib/shopify_api/webhooks/handler.rb
shopify_api-14.2.0 lib/shopify_api/webhooks/handler.rb
shopify_api-14.1.0 lib/shopify_api/webhooks/handler.rb
shopify_api-14.0.1 lib/shopify_api/webhooks/handler.rb
shopify_api-14.0.0 lib/shopify_api/webhooks/handler.rb