Je crée un gem wrapper pour une API RESTful. Je reçois l'erreur suivante lorsque je tente d'ajouter hashie
middleware selon le documentation:Faraday :: Erreur:: hashie n'est pas enregistré sur Faraday :: Middleware
Magpress::Login::#call#test_0001_should return valid JWT token:
Faraday::Error: :hashie is not registered on Faraday::Middleware
/home/amit/.rvm/gems/[email protected]/gems/faraday-0.10.0/lib/faraday.rb:184:in `lookup_middleware'
/home/amit/.rvm/gems/[email protected]/gems/faraday-0.10.0/lib/faraday/rack_builder.rb:204:in `use_symbol'
/home/amit/.rvm/gems/[email protected]/gems/faraday-0.10.0/lib/faraday/rack_builder.rb:84:in `use'
/home/amit/projects/bt/magpress/lib/magpress/client.rb:24:in `block in connection'
/home/amit/.rvm/gems/[email protected]/gems/faraday-0.10.0/lib/faraday/connection.rb:91:in `initialize'
/home/amit/.rvm/gems/[email protected]/gems/faraday-0.10.0/lib/faraday.rb:70:in `new'
/home/amit/.rvm/gems/[email protected]/gems/faraday-0.10.0/lib/faraday.rb:70:in `new'
/home/amit/projects/bt/magpress/lib/magpress/client.rb:18:in `connection'
/home/amit/projects/bt/magpress/lib/magpress/base.rb:7:in `initialize'
/home/amit/projects/bt/magpress/test/login_spec.rb:13:in `new'
/home/amit/projects/bt/magpress/test/login_spec.rb:13:in `block (3 levels) in <top (required)>'
Voici comment je delcared dépendances dans .gemspec
.
...
spec.add_dependency "faraday"
spec.add_dependency "faraday_middleware"
spec.add_dependency "hashie"
....
et la classe qui utilise faraday et il est middleware
require 'faraday'
require 'faraday_middleware'
require 'hashie'
module Magpress
class Client
def connection(url)
conn = ::Faraday.new(url) do |faraday|
faraday.request :json
faraday.response :json, :content_type => /\bjson$/
# faraday.use :instrumentation
faraday.use :hashie # FaradayMiddleware::Mashify
faraday.adapter Faraday.default_adapter
end
conn
end
end
end
Farady et versions précieuses middlware
[email protected]:~/projects/bt/magpress$ gem list | grep faraday
faraday (0.10.0)
faraday_middleware (0.10.1)
Qu'est-ce qui pourrait être mal ici?
Si je remplace :hashie
avec FaradayMiddleware::Mashify
, les erreurs en va, mais l'instance response.body
de retour de la vanille Hash
au lieu de Hashie::Mash
'require 'hashie''? – mudasobwa
J'ai essayé cela aussi. –