lib/slack-notifier/payload_middleware/base.rb
# frozen_string_literal: true
module Slack
class Notifier
class PayloadMiddleware
class Base
class << self
def middleware_name name
PayloadMiddleware.register self, name.to_sym
end
def options default_opts
@default_opts = default_opts
end
def default_opts
@default_opts ||= {}
end
end
attr_reader :notifier, :options
def initialize notifier, opts={}
@notifier = notifier
@options = self.class.default_opts.merge opts
end
def call _payload={}
raise NoMethodError, "method `call` not defined for class #{self.class}"
end
end
end
end
end