vigetlabs/special-delivery

View on GitHub
lib/special_delivery/base_event.rb

Summary

Maintainability
A
0 mins
Test Coverage
module SpecialDelivery
  class BaseEvent
    attr_reader :params

    def initialize(params)
      @params = params || {}
    end

    def issue_callback
      delivery.callback(callback_method)
    end

    private

    def callback_method
      raise NotImplementedError, 'Event subclasses must implement #callback_method'
    end

    def delivery
      @delivery ||= Delivery.find_by_message_id!(params.fetch('message-id'))
    end
  end
end