rest-client-components 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.rdoc +2 -2
- data/VERSION +1 -1
- data/lib/restclient/components.rb +59 -52
- data/rest-client-components.gemspec +4 -4
- metadata +60 -87
    
        checksums.yaml
    ADDED
    
    | @@ -0,0 +1,7 @@ | |
| 1 | 
            +
            ---
         | 
| 2 | 
            +
            SHA1:
         | 
| 3 | 
            +
              metadata.gz: fd1cc995e369066b6686c91d17cf68c1ea59f07c
         | 
| 4 | 
            +
              data.tar.gz: 7c62b70ec84a6c420b3731faeaf4d774676ae90a
         | 
| 5 | 
            +
            SHA512:
         | 
| 6 | 
            +
              metadata.gz: 23f8f1859e018cb09bd7feeed978e26e6224ee988113ee35ea325481f5ad011a5161862d289d8f5e97bedd14e35ef0762998ff98360075d9b62e3f1a5684bfd7
         | 
| 7 | 
            +
              data.tar.gz: 10c77068694bad651be3e3248c1f98b8dc40f7befbe2c53e7f2d491e2c1e8740d6eadfebb99c5f9e8c1d9123d2945dcfe62505eff65df89456b69ccc28f52530
         | 
    
        data/README.rdoc
    CHANGED
    
    | @@ -43,7 +43,7 @@ Example with Rack::Cache, and Rack::CommonLogger | |
| 43 43 |  | 
| 44 44 | 
             
              RestClient.enable Rack::CommonLogger
         | 
| 45 45 | 
             
              # Enable the cache Rack middleware, and store both meta and entity data in files:
         | 
| 46 | 
            -
              # See http:// | 
| 46 | 
            +
              # See http://rtomayko.github.io/rack-cache/configuration for the list of available options
         | 
| 47 47 | 
             
              RestClient.enable Rack::Cache, 
         | 
| 48 48 | 
             
                                :metastore => 'file:/tmp/cache/meta', 
         | 
| 49 49 | 
             
                                :entitystore => 'file:/tmp/cache/body'
         | 
| @@ -81,4 +81,4 @@ Now, you just need to make your resources cacheable, so unless you've already ta | |
| 81 81 |  | 
| 82 82 | 
             
            = COPYRIGHT
         | 
| 83 83 |  | 
| 84 | 
            -
            Copyright (c) 2009-2010 Cyril Rohr. See LICENSE for details.
         | 
| 84 | 
            +
            Copyright (c) 2009-2010 Cyril Rohr. See LICENSE for details.
         | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            1. | 
| 1 | 
            +
            1.3.0
         | 
| @@ -7,7 +7,7 @@ module RestClient | |
| 7 7 | 
             
                  def initialize(app)
         | 
| 8 8 | 
             
                    @app = app
         | 
| 9 9 | 
             
                  end
         | 
| 10 | 
            -
             | 
| 10 | 
            +
             | 
| 11 11 | 
             
                  def call(env)
         | 
| 12 12 | 
             
                    status, header, body = @app.call(env)
         | 
| 13 13 | 
             
                    net_http_response = RestClient::MockNetHTTPResponse.new(body, status, header)
         | 
| @@ -16,7 +16,7 @@ module RestClient | |
| 16 16 | 
             
                    response = RestClient::Response.create(content, net_http_response, {})
         | 
| 17 17 | 
             
                    if block = env['restclient.hash'][:block]
         | 
| 18 18 | 
             
                      block.call(response)
         | 
| 19 | 
            -
             | 
| 19 | 
            +
                      # only raise error if response is not successful
         | 
| 20 20 | 
             
                    elsif !(200...300).include?(response.code) && e = env['restclient.hash'][:error]
         | 
| 21 21 | 
             
                      raise e
         | 
| 22 22 | 
             
                    else
         | 
| @@ -29,20 +29,25 @@ module RestClient | |
| 29 29 | 
             
              class <<self
         | 
| 30 30 | 
             
                attr_reader :components
         | 
| 31 31 | 
             
              end
         | 
| 32 | 
            -
             | 
| 32 | 
            +
             | 
| 33 33 | 
             
              # Enable a Rack component. You may enable as many components as you want.
         | 
| 34 | 
            -
              # | 
| 34 | 
            +
              #
         | 
| 35 | 
            +
              # Examples:
         | 
| 36 | 
            +
              #
         | 
| 35 37 | 
             
              # Transparent HTTP caching:
         | 
| 36 | 
            -
              # | 
| 38 | 
            +
              #
         | 
| 39 | 
            +
              #   RestClient.enable Rack::Cache,
         | 
| 37 40 | 
             
              #                       :verbose     => true,
         | 
| 38 41 | 
             
              #                       :metastore   => 'file:/var/cache/rack/meta'
         | 
| 39 42 | 
             
              #                       :entitystore => 'file:/var/cache/rack/body'
         | 
| 40 | 
            -
              # | 
| 43 | 
            +
              #
         | 
| 41 44 | 
             
              # Transparent logging of HTTP requests (commonlog format):
         | 
| 45 | 
            +
              #
         | 
| 42 46 | 
             
              #   RestClient.enable Rack::CommonLogger, STDOUT
         | 
| 43 | 
            -
              # | 
| 44 | 
            -
              # Please refer to the documentation of each rack component for the list of | 
| 45 | 
            -
              # 
         | 
| 47 | 
            +
              #
         | 
| 48 | 
            +
              # Please refer to the documentation of each rack component for the list of
         | 
| 49 | 
            +
              # available options.
         | 
| 50 | 
            +
              #
         | 
| 46 51 | 
             
              def self.enable(component, *args)
         | 
| 47 52 | 
             
                # remove any existing component of the same class
         | 
| 48 53 | 
             
                disable(component)
         | 
| @@ -52,47 +57,49 @@ module RestClient | |
| 52 57 | 
             
                  @components.unshift [component, args]
         | 
| 53 58 | 
             
                end
         | 
| 54 59 | 
             
              end
         | 
| 55 | 
            -
             | 
| 60 | 
            +
             | 
| 56 61 | 
             
              # Disable a component
         | 
| 62 | 
            +
              #
         | 
| 57 63 | 
             
              #   RestClient.disable Rack::Cache
         | 
| 58 64 | 
             
              #   => array of remaining components
         | 
| 59 65 | 
             
              def self.disable(component)
         | 
| 60 66 | 
             
                @components.delete_if{|(existing_component, options)| component == existing_component}
         | 
| 61 67 | 
             
              end
         | 
| 62 | 
            -
             | 
| 63 | 
            -
              # Returns true if the given component is enabled, false otherwise
         | 
| 68 | 
            +
             | 
| 69 | 
            +
              # Returns true if the given component is enabled, false otherwise.
         | 
| 70 | 
            +
              #
         | 
| 64 71 | 
             
              #   RestClient.enable Rack::Cache
         | 
| 65 72 | 
             
              #   RestClient.enabled?(Rack::Cache)
         | 
| 66 73 | 
             
              #   => true
         | 
| 67 74 | 
             
              def self.enabled?(component)
         | 
| 68 75 | 
             
                !@components.detect{|(existing_component, options)| component == existing_component}.nil?
         | 
| 69 76 | 
             
              end
         | 
| 70 | 
            -
             | 
| 77 | 
            +
             | 
| 71 78 | 
             
              def self.reset
         | 
| 72 | 
            -
                # hash of the enabled components | 
| 79 | 
            +
                # hash of the enabled components
         | 
| 73 80 | 
             
                @components = [[RestClient::Rack::Compatibility]]
         | 
| 74 81 | 
             
              end
         | 
| 75 | 
            -
             | 
| 82 | 
            +
             | 
| 76 83 | 
             
              def self.debeautify_headers(headers = {})   # :nodoc:
         | 
| 77 84 | 
             
                headers.inject({}) do |out, (key, value)|
         | 
| 78 | 
            -
             | 
| 79 | 
            -
             | 
| 80 | 
            -
             | 
| 85 | 
            +
                  out[key.to_s.gsub(/_/, '-').split("-").map{|w| w.capitalize}.join("-")] = value.to_s
         | 
| 86 | 
            +
                  out
         | 
| 87 | 
            +
                end
         | 
| 81 88 | 
             
              end
         | 
| 82 | 
            -
             | 
| 89 | 
            +
             | 
| 83 90 | 
             
              reset
         | 
| 84 | 
            -
             | 
| 85 | 
            -
              # Reopen the RestClient::Request class to add a level of indirection in | 
| 86 | 
            -
              # 
         | 
| 87 | 
            -
             | 
| 88 | 
            -
             | 
| 89 | 
            -
             | 
| 91 | 
            +
             | 
| 92 | 
            +
              # Reopen the RestClient::Request class to add a level of indirection in
         | 
| 93 | 
            +
              # order to create the stack of Rack middleware.
         | 
| 94 | 
            +
              class Request
         | 
| 95 | 
            +
                alias_method :original_execute, :execute
         | 
| 96 | 
            +
                def execute(&block)
         | 
| 90 97 | 
             
                  uri = URI.parse(@url)
         | 
| 91 98 | 
             
                  # minimal rack spec
         | 
| 92 | 
            -
                  env = { | 
| 99 | 
            +
                  env = {
         | 
| 93 100 | 
             
                    "restclient.hash" => {
         | 
| 94 | 
            -
                      :request => self, | 
| 95 | 
            -
                      :error => nil, | 
| 101 | 
            +
                      :request => self,
         | 
| 102 | 
            +
                      :error => nil,
         | 
| 96 103 | 
             
                      :block => block
         | 
| 97 104 | 
             
                    },
         | 
| 98 105 | 
             
                    "REQUEST_METHOD" => @method.to_s.upcase,
         | 
| @@ -136,29 +143,30 @@ module RestClient | |
| 136 143 | 
             
                  response
         | 
| 137 144 | 
             
                end
         | 
| 138 145 | 
             
              end
         | 
| 139 | 
            -
             | 
| 140 | 
            -
             | 
| 141 | 
            -
             | 
| 142 | 
            -
             | 
| 143 | 
            -
             | 
| 146 | 
            +
             | 
| 147 | 
            +
              module Payload
         | 
| 148 | 
            +
                class Base
         | 
| 149 | 
            +
                  def rewind(*args)
         | 
| 150 | 
            +
                    @stream.rewind(*args)
         | 
| 144 151 | 
             
                  end
         | 
| 145 | 
            -
             | 
| 152 | 
            +
             | 
| 146 153 | 
             
                  def gets(*args)
         | 
| 147 154 | 
             
                    @stream.gets(*args)
         | 
| 148 155 | 
             
                  end
         | 
| 149 | 
            -
             | 
| 156 | 
            +
             | 
| 150 157 | 
             
                  def each(&block)
         | 
| 151 158 | 
             
                    @stream.each(&block)
         | 
| 152 159 | 
             
                  end
         | 
| 153 160 | 
             
                end
         | 
| 154 161 | 
             
              end
         | 
| 155 | 
            -
             | 
| 156 | 
            -
              # A class that mocks the behaviour of a Net::HTTPResponse class.
         | 
| 157 | 
            -
              #  | 
| 162 | 
            +
             | 
| 163 | 
            +
              # A class that mocks the behaviour of a Net::HTTPResponse class. It is
         | 
| 164 | 
            +
              # required since RestClient::Response must be initialized with a class that
         | 
| 165 | 
            +
              # responds to :code and :to_hash.
         | 
| 158 166 | 
             
              class MockNetHTTPResponse
         | 
| 159 167 | 
             
                attr_reader :body, :header, :status
         | 
| 160 168 | 
             
                alias_method :code, :status
         | 
| 161 | 
            -
             | 
| 169 | 
            +
             | 
| 162 170 | 
             
                def initialize(body, status, header)
         | 
| 163 171 | 
             
                  @body = body
         | 
| 164 172 | 
             
                  @status = status
         | 
| @@ -171,9 +179,9 @@ module RestClient | |
| 171 179 | 
             
                    out[key] = [value]
         | 
| 172 180 | 
             
                    out
         | 
| 173 181 | 
             
                  }
         | 
| 174 | 
            -
                end | 
| 182 | 
            +
                end
         | 
| 175 183 | 
             
              end
         | 
| 176 | 
            -
             | 
| 184 | 
            +
             | 
| 177 185 | 
             
              RACK_APP = Proc.new { |env|
         | 
| 178 186 | 
             
                begin
         | 
| 179 187 | 
             
                  # get the original request, replace headers with those of env, and execute it
         | 
| @@ -184,21 +192,19 @@ module RestClient | |
| 184 192 | 
             
                  }
         | 
| 185 193 | 
             
                  env_headers['Content-Type'] = env['CONTENT_TYPE'] if env['CONTENT_TYPE']
         | 
| 186 194 | 
             
                  env_headers['Content-Length'] = env['CONTENT_LENGTH'] if env['CONTENT_LENGTH']
         | 
| 187 | 
            -
             | 
| 188 | 
            -
                   | 
| 189 | 
            -
             | 
| 190 | 
            -
             | 
| 191 | 
            -
                  else
         | 
| 192 | 
            -
                    nil
         | 
| 193 | 
            -
                  end
         | 
| 195 | 
            +
             | 
| 196 | 
            +
                  env['rack.input'].rewind
         | 
| 197 | 
            +
                  payload = env['rack.input'].read
         | 
| 198 | 
            +
                  payload = (payload.empty? ? nil : Payload.generate(payload))
         | 
| 194 199 | 
             
                  request.instance_variable_set "@payload", payload
         | 
| 200 | 
            +
             | 
| 195 201 | 
             
                  headers = request.make_headers(env_headers)
         | 
| 196 202 | 
             
                  request.processed_headers.update(headers)
         | 
| 197 203 | 
             
                  response = request.original_execute
         | 
| 198 | 
            -
                rescue RestClient::ExceptionWithResponse => e | 
| 204 | 
            +
                rescue RestClient::ExceptionWithResponse => e
         | 
| 199 205 | 
             
                  # re-raise the error if the response is nil (RestClient does not
         | 
| 200 | 
            -
                  # differentiate between a RestClient::RequestTimeout due to a 408 
         | 
| 201 | 
            -
                  #  | 
| 206 | 
            +
                  # differentiate between a RestClient::RequestTimeout due to a 408 status
         | 
| 207 | 
            +
                  # code, and a RestClient::RequestTimeout due to a Timeout::Error)
         | 
| 202 208 | 
             
                  raise e if e.response.nil?
         | 
| 203 209 | 
             
                  env['restclient.hash'][:error] = e
         | 
| 204 210 | 
             
                  response = e.response
         | 
| @@ -207,7 +213,8 @@ module RestClient | |
| 207 213 | 
             
                response.headers.delete(:status)
         | 
| 208 214 | 
             
                header = RestClient.debeautify_headers( response.headers )
         | 
| 209 215 | 
             
                body = response.to_s
         | 
| 210 | 
            -
                # return the real content-length since RestClient does not do it when | 
| 216 | 
            +
                # return the real content-length since RestClient does not do it when
         | 
| 217 | 
            +
                # decoding gzip responses
         | 
| 211 218 | 
             
                header['Content-Length'] = body.length.to_s if header.has_key?('Content-Length')
         | 
| 212 219 | 
             
                [response.code, header, [body]]
         | 
| 213 220 | 
             
              }
         | 
| @@ -5,7 +5,7 @@ | |
| 5 5 |  | 
| 6 6 | 
             
            Gem::Specification.new do |s|
         | 
| 7 7 | 
             
              s.name = %q{rest-client-components}
         | 
| 8 | 
            -
              s.version = "1. | 
| 8 | 
            +
              s.version = "1.3.0"
         | 
| 9 9 |  | 
| 10 10 | 
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         | 
| 11 11 | 
             
              s.authors = ["Cyril Rohr"]
         | 
| @@ -47,16 +47,16 @@ Gem::Specification.new do |s| | |
| 47 47 | 
             
                s.specification_version = 3
         | 
| 48 48 |  | 
| 49 49 | 
             
                if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
         | 
| 50 | 
            -
                  s.add_runtime_dependency(%q<rest-client>, [">= 1.6.0" | 
| 50 | 
            +
                  s.add_runtime_dependency(%q<rest-client>, [">= 1.6.0"])
         | 
| 51 51 | 
             
                  s.add_runtime_dependency(%q<rack>, [">= 1.0.1"])
         | 
| 52 52 | 
             
                  s.add_development_dependency(%q<webmock>, [">= 0"])
         | 
| 53 53 | 
             
                else
         | 
| 54 | 
            -
                  s.add_dependency(%q<rest-client>, [">= 1.6.0" | 
| 54 | 
            +
                  s.add_dependency(%q<rest-client>, [">= 1.6.0"])
         | 
| 55 55 | 
             
                  s.add_dependency(%q<rack>, [">= 1.0.1"])
         | 
| 56 56 | 
             
                  s.add_dependency(%q<webmock>, [">= 0"])
         | 
| 57 57 | 
             
                end
         | 
| 58 58 | 
             
              else
         | 
| 59 | 
            -
                s.add_dependency(%q<rest-client>, [">= 1.6.0" | 
| 59 | 
            +
                s.add_dependency(%q<rest-client>, [">= 1.6.0"])
         | 
| 60 60 | 
             
                s.add_dependency(%q<rack>, [">= 1.0.1"])
         | 
| 61 61 | 
             
                s.add_dependency(%q<webmock>, [">= 0"])
         | 
| 62 62 | 
             
              end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,87 +1,67 @@ | |
| 1 | 
            -
            --- !ruby/object:Gem::Specification | 
| 1 | 
            +
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: rest-client-components
         | 
| 3 | 
            -
            version: !ruby/object:Gem::Version | 
| 4 | 
            -
               | 
| 5 | 
            -
              prerelease: false
         | 
| 6 | 
            -
              segments: 
         | 
| 7 | 
            -
              - 1
         | 
| 8 | 
            -
              - 2
         | 
| 9 | 
            -
              - 0
         | 
| 10 | 
            -
              version: 1.2.0
         | 
| 3 | 
            +
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            +
              version: 1.3.0
         | 
| 11 5 | 
             
            platform: ruby
         | 
| 12 | 
            -
            authors: | 
| 6 | 
            +
            authors:
         | 
| 13 7 | 
             
            - Cyril Rohr
         | 
| 14 8 | 
             
            autorequire: 
         | 
| 15 9 | 
             
            bindir: bin
         | 
| 16 10 | 
             
            cert_chain: []
         | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
            dependencies: 
         | 
| 21 | 
            -
            - !ruby/object:Gem::Dependency 
         | 
| 11 | 
            +
            date: 2010-07-22 00:00:00.000000000 Z
         | 
| 12 | 
            +
            dependencies:
         | 
| 13 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 22 14 | 
             
              name: rest-client
         | 
| 23 | 
            -
               | 
| 24 | 
            -
             | 
| 25 | 
            -
                none: false
         | 
| 26 | 
            -
                requirements: 
         | 
| 15 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 | 
            +
                requirements:
         | 
| 27 17 | 
             
                - - ">="
         | 
| 28 | 
            -
                  - !ruby/object:Gem::Version | 
| 29 | 
            -
                    hash: 2657083326512599250
         | 
| 30 | 
            -
                    segments: 
         | 
| 31 | 
            -
                    - 1
         | 
| 32 | 
            -
                    - 6
         | 
| 33 | 
            -
                    - 0
         | 
| 18 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 34 19 | 
             
                    version: 1.6.0
         | 
| 35 | 
            -
                - - <
         | 
| 36 | 
            -
                  - !ruby/object:Gem::Version 
         | 
| 37 | 
            -
                    hash: 158014003617880386
         | 
| 38 | 
            -
                    segments: 
         | 
| 39 | 
            -
                    - 1
         | 
| 40 | 
            -
                    - 7
         | 
| 41 | 
            -
                    - 0
         | 
| 42 | 
            -
                    version: 1.7.0
         | 
| 43 20 | 
             
              type: :runtime
         | 
| 44 | 
            -
              version_requirements: *id001
         | 
| 45 | 
            -
            - !ruby/object:Gem::Dependency 
         | 
| 46 | 
            -
              name: rack
         | 
| 47 21 | 
             
              prerelease: false
         | 
| 48 | 
            -
               | 
| 49 | 
            -
                 | 
| 50 | 
            -
                 | 
| 22 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 | 
            +
                requirements:
         | 
| 24 | 
            +
                - - ">="
         | 
| 25 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            +
                    version: 1.6.0
         | 
| 27 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 28 | 
            +
              name: rack
         | 
| 29 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 30 | 
            +
                requirements:
         | 
| 51 31 | 
             
                - - ">="
         | 
| 52 | 
            -
                  - !ruby/object:Gem::Version | 
| 53 | 
            -
                    hash: 3196562863265611407
         | 
| 54 | 
            -
                    segments: 
         | 
| 55 | 
            -
                    - 1
         | 
| 56 | 
            -
                    - 0
         | 
| 57 | 
            -
                    - 1
         | 
| 32 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 58 33 | 
             
                    version: 1.0.1
         | 
| 59 34 | 
             
              type: :runtime
         | 
| 60 | 
            -
              version_requirements: *id002
         | 
| 61 | 
            -
            - !ruby/object:Gem::Dependency 
         | 
| 62 | 
            -
              name: webmock
         | 
| 63 35 | 
             
              prerelease: false
         | 
| 64 | 
            -
               | 
| 65 | 
            -
                 | 
| 66 | 
            -
                 | 
| 36 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 37 | 
            +
                requirements:
         | 
| 38 | 
            +
                - - ">="
         | 
| 39 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 40 | 
            +
                    version: 1.0.1
         | 
| 41 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 42 | 
            +
              name: webmock
         | 
| 43 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 44 | 
            +
                requirements:
         | 
| 67 45 | 
             
                - - ">="
         | 
| 68 | 
            -
                  - !ruby/object:Gem::Version | 
| 69 | 
            -
                     | 
| 70 | 
            -
                    segments: 
         | 
| 71 | 
            -
                    - 0
         | 
| 72 | 
            -
                    version: "0"
         | 
| 46 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 47 | 
            +
                    version: '0'
         | 
| 73 48 | 
             
              type: :development
         | 
| 74 | 
            -
               | 
| 75 | 
            -
             | 
| 49 | 
            +
              prerelease: false
         | 
| 50 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 51 | 
            +
                requirements:
         | 
| 52 | 
            +
                - - ">="
         | 
| 53 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 54 | 
            +
                    version: '0'
         | 
| 55 | 
            +
            description: RestClient on steroids ! Easily add one or more Rack middleware around
         | 
| 56 | 
            +
              RestClient to add functionalities such as transparent caching (Rack::Cache), transparent
         | 
| 57 | 
            +
              logging, etc.
         | 
| 76 58 | 
             
            email: cyril.rohr@gmail.com
         | 
| 77 59 | 
             
            executables: []
         | 
| 78 | 
            -
             | 
| 79 60 | 
             
            extensions: []
         | 
| 80 | 
            -
             | 
| 81 | 
            -
            extra_rdoc_files: 
         | 
| 61 | 
            +
            extra_rdoc_files:
         | 
| 82 62 | 
             
            - LICENSE
         | 
| 83 63 | 
             
            - README.rdoc
         | 
| 84 | 
            -
            files: | 
| 64 | 
            +
            files:
         | 
| 85 65 | 
             
            - LICENSE
         | 
| 86 66 | 
             
            - README.rdoc
         | 
| 87 67 | 
             
            - Rakefile
         | 
| @@ -93,43 +73,36 @@ files: | |
| 93 73 | 
             
            - rest-client-components.gemspec
         | 
| 94 74 | 
             
            - spec/components_spec.rb
         | 
| 95 75 | 
             
            - spec/spec_helper.rb
         | 
| 96 | 
            -
            has_rdoc: true
         | 
| 97 76 | 
             
            homepage: http://github.com/crohr/rest-client-components
         | 
| 98 77 | 
             
            licenses: []
         | 
| 99 | 
            -
             | 
| 78 | 
            +
            metadata: {}
         | 
| 100 79 | 
             
            post_install_message: 
         | 
| 101 | 
            -
            rdoc_options: | 
| 102 | 
            -
            - --charset=UTF-8
         | 
| 103 | 
            -
            require_paths: | 
| 80 | 
            +
            rdoc_options:
         | 
| 81 | 
            +
            - "--charset=UTF-8"
         | 
| 82 | 
            +
            require_paths:
         | 
| 104 83 | 
             
            - lib
         | 
| 105 | 
            -
            required_ruby_version: !ruby/object:Gem::Requirement | 
| 106 | 
            -
               | 
| 107 | 
            -
              requirements: 
         | 
| 84 | 
            +
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 85 | 
            +
              requirements:
         | 
| 108 86 | 
             
              - - ">="
         | 
| 109 | 
            -
                - !ruby/object:Gem::Version | 
| 110 | 
            -
                   | 
| 111 | 
            -
             | 
| 112 | 
            -
             | 
| 113 | 
            -
                  version: "0"
         | 
| 114 | 
            -
            required_rubygems_version: !ruby/object:Gem::Requirement 
         | 
| 115 | 
            -
              none: false
         | 
| 116 | 
            -
              requirements: 
         | 
| 87 | 
            +
                - !ruby/object:Gem::Version
         | 
| 88 | 
            +
                  version: '0'
         | 
| 89 | 
            +
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 90 | 
            +
              requirements:
         | 
| 117 91 | 
             
              - - ">="
         | 
| 118 | 
            -
                - !ruby/object:Gem::Version | 
| 119 | 
            -
                   | 
| 120 | 
            -
                  segments: 
         | 
| 121 | 
            -
                  - 0
         | 
| 122 | 
            -
                  version: "0"
         | 
| 92 | 
            +
                - !ruby/object:Gem::Version
         | 
| 93 | 
            +
                  version: '0'
         | 
| 123 94 | 
             
            requirements: []
         | 
| 124 | 
            -
             | 
| 125 95 | 
             
            rubyforge_project: 
         | 
| 126 | 
            -
            rubygems_version:  | 
| 96 | 
            +
            rubygems_version: 2.2.2
         | 
| 127 97 | 
             
            signing_key: 
         | 
| 128 98 | 
             
            specification_version: 3
         | 
| 129 | 
            -
            summary: RestClient on steroids ! Easily add one or more Rack middleware around RestClient | 
| 130 | 
            -
             | 
| 99 | 
            +
            summary: RestClient on steroids ! Easily add one or more Rack middleware around RestClient
         | 
| 100 | 
            +
              to add functionalities such as transparent caching (Rack::Cache), transparent logging,
         | 
| 101 | 
            +
              etc.
         | 
| 102 | 
            +
            test_files:
         | 
| 131 103 | 
             
            - spec/components_spec.rb
         | 
| 132 104 | 
             
            - spec/spec_helper.rb
         | 
| 133 105 | 
             
            - examples/beautify_html.rb
         | 
| 134 106 | 
             
            - examples/caching.rb
         | 
| 135 107 | 
             
            - examples/parsing.rb
         | 
| 108 | 
            +
            has_rdoc: 
         |