2012-07-13 22 views
11

Instalé 'ActiveSupport' y requirió 'active_support' en mi código, pero obtengo un "No Method Error" cuando trato de usar el método Hash.from_xml().¿Qué debo hacer para que Hash.from_xml() funcione?

¿Qué me estoy perdiendo?

$ gem list 

devuelve:

\*** LOCAL GEMS \*** 

activesupport (3.2.6) 
bundler (1.1.4) 
i18n (0.6.0) 
json (1.7.3) 
mime-types (1.19) 
multi_json (1.3.6) 
rake (0.9.2.2) 
rest-client (1.6.7) 
rubygems-bundler (1.0.3) 
rvm (1.11.3.5) 

Y:

$ ruby -v 

devuelve:

ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.4.0] 

El contenido de file.rb son:

require 'active_support' 
require 'rest-client' 
require 'json' 
token = "xxx" 
user = "xxx" 
survey_id = "xxx" 
responses_from_api = RestClient.get "https://survey.qualtrics.com/WRAPI/ControlPanel/api.php?Request=getLegacyResponseData&User=#{user}&Token=#{token}&Version=2.0&SurveyID=#{survey_id}&Format=XML" 
responses = Hash.from_xml(responses_from_api).to_json 
puts responses 

Y:

$ ruby file.rb 

devuelve:

file.rb:8:in `<main>': undefined method `from_xml' for Hash:Class (NoMethodError) 

Respuesta

32

Sólo require 'active_support' no se hacen mucho, hay que tirar de las piezas especie de mano. Si desea que todos los ActiveSupport:

require 'active_support/all' 

o si simplemente desea que las extensiones de Hash:

require 'active_support/core_ext/hash' 
+0

impresionante, gracias! –

Cuestiones relacionadas