Ho un progetto non-Rails in cui sto caricando alcune impostazioni da un file YAML:Hash con accesso indifferente
config = YAML::load(File.open("#{LOG_ROOT}/config/database.yml"))
posso accedere solo questo hash come config["host"]
, config["username"]
ecc
I voglio un accesso indifferente, così posso usare sia :host
e "host"
.
Il motivo è che una delle gemme nel progetto a cui sto passando questo hash sembra accedervi usando i simboli e non funziona al momento.
Qual è il modo migliore per creare un hash con accesso indifferente in questo scenario?
Anche se non si sta usando le rotaie v'è alcuna ragione per cui proprio non poteva 'require 'active_support/core_ext/hash/indifferent_access'', e non c'è la vostra soluzione? – Casper
Non ho installato gem active_support e mi chiedevo se dovessi installarlo solo per ottenere questa funzione. – Josnidhin
Se non si desidera, copiare/incollare il codice nel proprio hash con una classe di accesso indifferente. Non ho guardato la soluzione di Rails, ma ne ho già scritta una prima, non può essere più di 50 LOC. –