lib/ur/faraday/yield_ur.rb in ur-0.1.1 vs lib/ur/faraday/yield_ur.rb in ur-0.2.0

- old
+ new

@@ -1,25 +1,13 @@ # frozen_string_literal: true -class Ur +module Ur module Faraday # Faraday middleware which yields an Ur to the given block class YieldUr < ::Ur::FaradayMiddleware - def initialize(app, options = {}, &block) + 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 = (@options[:ur_class] || Ur).from_faraday_request(request_env) - begin_request(ur) - ur.faraday_on_complete(@app, request_env) do |response_env| - finish_request(ur) - @yield_to.call(ur) - end + super(app, options.merge(after_response: block)) end end end end