diff --git a/lib/tracker_api/client.rb b/lib/tracker_api/client.rb index 8564f92..6723a89 100644 --- a/lib/tracker_api/client.rb +++ b/lib/tracker_api/client.rb @@ -20,7 +20,7 @@ class Client # # @example Creating a Client # Client.new token: 'my-super-special-token' - def initialize(options={}) + def initialize(options={}, &block) url = options.fetch(:url, 'https://www.pivotaltracker.com') @url = Addressable::URI.parse(url).to_s @api_version = options.fetch(:api_version, '/services/v5') @@ -31,6 +31,8 @@ def initialize(options={}) @token = options[:token] raise 'Missing required options: :token' unless @token + @faraday_block = block if block_given? + @connection = Faraday.new({ url: @url }.merge(connection_options)) do |builder| # response builder.use Faraday::Response::RaiseError @@ -41,6 +43,7 @@ def initialize(options={}) builder.request :json builder.use TrackerApi::Logger, @logger + @faraday_block.call(builder) if @faraday_block builder.adapter adapter end end