lib/ur/faraday/yield_ur.rb in ur-0.0.3 vs lib/ur/faraday/yield_ur.rb in ur-0.0.4

- old
+ new

@@ -1,16 +1,18 @@ class Ur module Faraday class YieldUr < ::Faraday::Middleware def initialize(app, options = {}, &block) + raise(ArgumentError, "no block given to yield ur") unless block + raise(TypeError, "options must be a Hash") unless options.respond_to?(:to_hash) @app = app @options = options @yield_to = block end def call(request_env) - ur = Scorpio::Ur.from_faraday_request(request_env) - ur.logger = @options[:logger] + ur = (@options[:ur_class] || Ur).from_faraday_request(request_env) + ur.logger = @options[:logger] if @options[:logger] ur.faraday_on_complete(@app, request_env) do |response_env| @yield_to.call(ur) end end end