Sha256: 75bd39169cdfe306653faeb78b262186eda84478d69b7f8588651307b798c04d

Contents?: true

Size: 447 Bytes

Versions: 8

Compression:

Stored size: 447 Bytes

Contents

require 'json'
require 'recursive_open_struct'
require 'frenetic/hal_json/response_wrapper'

class Frenetic

  class HalJson < Faraday::Middleware
    def call( env )
      @app.call(env).on_complete { |env| on_complete(env) }
    end

    def on_complete( env )
      if success? env
        env[:body] = ResponseWrapper.new( JSON.parse(env[:body]) )
      end
    end

    def success?( env )
      (200..201) === env[:status]
    end
  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
frenetic-0.0.3 lib/frenetic/hal_json.rb
frenetic-0.0.2.alpha5 lib/frenetic/hal_json.rb
frenetic-0.0.2.alpha4 lib/frenetic/hal_json.rb
frenetic-0.0.2.alpha3 lib/frenetic/hal_json.rb
frenetic-0.0.2.alpha2 lib/frenetic/hal_json.rb
frenetic-0.0.2.alpha1 lib/frenetic/hal_json.rb
frenetic-0.0.1.alpha1 lib/frenetic/hal_json.rb
frenetic-0.0.1 lib/frenetic/hal_json.rb