Sha256: f49db4854d9c631b27f7441413bb65cf8bbebcf5f3ddfaad0de997625d902ede

Contents?: true

Size: 482 Bytes

Versions: 2

Compression:

Stored size: 482 Bytes

Contents

require 'rest-core/util/smash'

module RestCore
  class SmashResponse
    def self.members; [:smash_response]; end
    include Middleware

    def call env, &k
      return app.call(env, &k) if env[DRY]
      return app.call(env, &k) unless smash_response(env)

      app.call(env){ |res|
        if res[RESPONSE_BODY].kind_of?(Hash)
          yield(res.merge(RESPONSE_BODY => Smash.new(res[RESPONSE_BODY])))
        else
          yield(res)
        end
      }
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rest-core-4.0.1 lib/rest-core/middleware/smash_response.rb
rest-core-4.0.0 lib/rest-core/middleware/smash_response.rb