diff --git a/lib/rackstash/adapter.rb b/lib/rackstash/adapter.rb index 6ffa6a7..7fb0a64 100644 --- a/lib/rackstash/adapter.rb +++ b/lib/rackstash/adapter.rb @@ -110,7 +110,9 @@ module Rackstash scheme = uri.scheme || uri.opaque return unless scheme - adapter_class = adapter_schemes.fetch(scheme.to_s.downcase) { return } + adapter_class = adapter_schemes.fetch(scheme.to_s.downcase) { + raise ArgumentError, "No log adapter found for URI #{uri}" + } if adapter_class.respond_to?(:from_uri) adapter_class.from_uri(uri) diff --git a/spec/rackstash/adapter_spec.rb b/spec/rackstash/adapter_spec.rb index c86bc32..6cff907 100644 --- a/spec/rackstash/adapter_spec.rb +++ b/spec/rackstash/adapter_spec.rb @@ -261,8 +261,9 @@ describe Rackstash::Adapter do unknown_uri = 'unknown://example.com' expect(adapter).to_not receive(:from_uri) - expect(adapter).to receive(:new).with(unknown_uri).and_call_original - expect(described_class[unknown_uri]).to be_an Rackstash::Adapter::BaseAdapter + expect(adapter).not_to receive(:new) + expect { described_class[unknown_uri] } + .to raise_error ArgumentError, "No log adapter found for URI unknown://example.com" end end end