Sha256: 5a11dc3d4ee69af399142682d19018dc5d33d1d4224293b5e309262b321c3ef9

Contents?: true

Size: 771 Bytes

Versions: 27

Compression:

Stored size: 771 Bytes

Contents

require 'yajl'

module Her
  module Model
    # remove deprecated data method since cassinatra returns data: []
    module DeprecatedMethods
      remove_method :data
      remove_method :data=
    end
  end
  module Middleware
    class ParseJSON < Faraday::Response::Middleware
      # @private
      def parse_json(body = nil)
        body ||= '{}'
        message = "Response from the API must behave like a Hash or an Array (last JSON response was #{body.inspect})"

        json = begin
          Yajl.load(body, :symbolize_keys => true)
        rescue Yajl::ParseError
          raise Her::Errors::ParseError, message
        end

        raise Her::Errors::ParseError, message unless json.is_a?(Hash) or json.is_a?(Array)

        json
      end
    end
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
quandl_cassinatra-0.2.2 lib/quandl/her/patch.rb
quandl_cassinatra-0.2.1 lib/quandl/her/patch.rb
quandl_cassinatra-0.2.0 lib/quandl/her/patch.rb
quandl_cassinatra-0.1.16 lib/quandl/her/patch.rb
quandl_cassinatra-0.1.15 lib/quandl/her/patch.rb
quandl_cassinatra-0.1.14 lib/quandl/her/patch.rb
quandl_cassinatra-0.1.13 lib/quandl/her/patch.rb
quandl_cassinatra-0.1.11 lib/quandl/her/patch.rb
quandl_cassinatra-0.1.10 lib/quandl/her/patch.rb
quandl_cassinatra-0.1.9 lib/quandl/her/patch.rb
quandl_cassinatra-0.1.8 lib/quandl/her/patch.rb
quandl_cassinatra-0.1.7 lib/quandl/her/patch.rb
quandl_cassinatra-0.1.6 lib/quandl/her/patch.rb
quandl_cassinatra-0.1.5 lib/quandl/her/patch.rb
quandl_cassinatra-0.1.4 lib/quandl/her/patch.rb
quandl_cassinatra-0.1.3 lib/quandl/her/patch.rb
quandl_cassinatra-0.1.2 lib/quandl/her/patch.rb
quandl_cassinatra-0.1.0 lib/quandl/her/patch.rb
quandl_cassinatra-0.0.15 lib/quandl/her/patch.rb
quandl_cassinatra-0.0.14 lib/quandl/her/patch.rb