Sha256: c5a30e4c101602316d28f22aa093c22f9ad32696c3bf8d6c9ce745559474ec6b

Contents?: true

Size: 570 Bytes

Versions: 1

Compression:

Stored size: 570 Bytes

Contents

# frozen_string_literal: true

require_relative "little_sniffer/version"
require_relative "little_sniffer/adapters/net_http_adapter"

# LittleSniffer allows to log http request locally
class LittleSniffer
  HandlerDoesNotMatchTheInterfaceError = Class.new(StandardError)

  def initialize(handler:, adapter: Adapters::NetHttpAdapter, &block)
    validate_handler(handler)

    adapter.new(handler: handler).sniff(&block)
  end

  private

  def validate_handler(handler)
    return if handler.respond_to?(:call)

    raise HandlerDoesNotMatchTheInterfaceError
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
little_sniffer-0.1.2 lib/little_sniffer.rb