lib/her/api.rb in her-0.2.3 vs lib/her/api.rb in her-0.2.4

- old
+ new

@@ -1,11 +1,11 @@ module Her # This class is where all HTTP requests are made. Before using Her, you must configure it # so it knows where to make those requests. In Rails, this is usually done in `config/initializers/her.rb`: class API # @private - attr_reader :base_uri, :middleware, :connection + attr_reader :base_uri, :connection # Setup a default API connection. Accepted arguments and options are the same as {API#setup}. def self.setup(attrs={}, &block) # {{{ @@default_api = new @@default_api.setup(attrs, &block) @@ -13,13 +13,10 @@ # Setup the API connection. # # @param [Hash] attrs the options to create a message with # @option attrs [String] :base_uri The main HTTP API root (eg. `https://api.example.com`) - # @option attrs [Array, Class] :middleware **Deprecated** A list of the only middleware Her will use - # @option attrs [Array, Class] :add_middleware **Deprecated** A list of middleware to add to Her’s default middleware - # @option attrs [Class] :parse_middleware **Deprecated** A middleware that will replace {Her::Middleware::FirstLevelParseJSON} to parse the received JSON # # @return Faraday::Connection # # @example Setting up the default API connection # Her::API.setup :base_uri => "https://api.example" @@ -48,22 +45,11 @@ # builder.delete Her::Middleware::DefaultParseJSON # builder.use MyCustomParser # end def setup(attrs={}) # {{{ @base_uri = attrs[:base_uri] - @middleware = Her::API.default_middleware - - @middleware = [attrs[:middleware]] if attrs[:middleware] - @middleware = [attrs[:add_middleware]] + @middleware if attrs[:add_middleware] - @middleware = [attrs[:parse_middleware]] + @middleware.reject { |item| item == Her::Middleware::FirstLevelParseJSON } if attrs[:parse_middleware] - - @middleware.flatten! - middleware = @middleware @connection = Faraday.new(:url => @base_uri) do |connection| - middleware.each do |klass| - connection.use klass - end yield connection.builder if block_given? end end # }}} # Define a custom parsing procedure. The procedure is passed the response object and is @@ -90,13 +76,8 @@ private # @private def self.default_api(attrs={}) # {{{ defined?(@@default_api) ? @@default_api : nil - end # }}} - - # @private - def self.default_middleware # {{{ - [Her::Middleware::FirstLevelParseJSON, Faraday::Request::UrlEncoded, Faraday::Adapter::NetHttp] end # }}} end end