Sha256: 4cc5679b29abed9bec80b39ed8a3dc9a00e20fad82c112019bb853d268dbd298

Contents?: true

Size: 905 Bytes

Versions: 2

Compression:

Stored size: 905 Bytes

Contents

module PartyBus
  module Events
    class Create
      def self.perform_using(entity_id: nil, payload:, resource_type:, resource_action:, source_id:)
        new(entity_id, resource_type, resource_action, payload, source_id).perform
      end

      def initialize(entity_id, resource_type, resource_action, payload, source_id)
        @entity_id = entity_id
        @resource_type = resource_type
        @resource_action = resource_action
        @payload = payload
        @source_id = source_id
      end

      def perform
        @response ||= PartyBus::Client.post(
          entity_id: @entity_id,
          path: '/api/v1/events',
          body: {
            event: {
              payload: @payload,
              resource_type: @resource_type,
              resource_action: @resource_action,
              source_id: @source_id
            }
          }
        )
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
party_bus-0.1.12 lib/party_bus/events/create.rb
party_bus-0.1.11 lib/party_bus/events/create.rb