Sha256: ee6279ef829e644e5fd3fe806bcdc1ed738fdbc141172ccf20192745702a9416

Contents?: true

Size: 881 Bytes

Versions: 2

Compression:

Stored size: 881 Bytes

Contents

# frozen_string_literal: true

module BCDD::Result::EventLogs
  module Listener
    module ClassMethods
      def around_event_logs?
        false
      end

      def around_and_then?
        false
      end
    end

    def self.included(base)
      base.extend(ClassMethods)
    end

    def self.extended(base)
      base.extend(ClassMethods)
    end

    def self.kind?(arg)
      (arg.is_a?(::Class) && arg < self) || (arg.is_a?(::Module) && arg.is_a?(self)) || arg.is_a?(Listeners::Chain)
    end

    def on_start(scope:); end

    def around_event_logs(scope:)
      yield
    end

    def around_and_then(scope:, and_then:)
      yield
    end

    def on_record(record:); end

    def on_finish(event_logs:); end

    def before_interruption(exception:, event_logs:); end
  end

  module Listener::Null
    extend Listener

    def self.new
      self
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
bcdd-result-1.1.0 lib/bcdd/result/event_logs/listener.rb
bcdd-result-1.0.0 lib/bcdd/result/event_logs/listener.rb