added plugin to top-level chainable; added plural version, to load multiple plugins

This commit is contained in:
HoneyryderChuck 2017-12-15 18:16:15 +02:00
parent eccea7c443
commit 88b2c9370c
2 changed files with 13 additions and 1 deletions

View File

@ -58,6 +58,11 @@ module HTTPX
headers("accept" => String(type))
end
def plugin(*plugins)
Class.new(Client).plugins(plugins).new(default_options)
end
alias :plugins :plugin
private
def default_options

View File

@ -105,7 +105,14 @@ module HTTPX
default_options.response_body_class.extend(pl::ResponseBodyClassMethods) if defined?(pl::ResponseBodyClassMethods)
pl.configure(self, *args, &block) if pl.respond_to?(:configure)
end
nil
self
end
def plugins(pls)
pls.each do |pl, *args|
plugin(pl, *args)
end
self
end
end
end