Ruby JSON.pretty_generate… é bastante despretensioso
Eu não consigo entenderJSON.pretty_generate()
para realmente gerar uma saída bonita no Rails.
Estou usando o Rails 2.3.5 e parece carregar automaticamente a jóia JSON. Impressionante. Enquanto estiver usandoscript/console
isso realmente produz JSON:
some_data = {'foo' => 1, 'bar' => 20, 'cow' => [1, 2, 3, 4], 'moo' => {'dog' => 'woof', 'cat' => 'meow'}}
some_data.to_json
=> "{\"cow\":[1,2,3,4],\"moo\":{\"cat\":\"meow\",\"dog\":\"woof\"},\"foo\":1,\"bar\":20}"
Mas isso não produzsaída bonita:
JSON.pretty_generate(some_data)
=> "{\"cow\":[1,2,3,4],\"moo\":{\"cat\":\"meow\",\"dog\":\"woof\"},\"foo\":1,\"bar\":20}"
A única maneira que eu encontrei para gerá-lo é usarirb
e para carregar a versão "Pure":
require 'rubygems'
require 'json/pure'
some_data = {'foo' => 1, 'bar' => 20, 'cow' => [1, 2, 3, 4], 'moo' => {'dog' => 'woof', 'cat' => 'meow'}}
JSON.pretty_generate(some_data)
=> "{\n \"cow\": [\n 1,\n 2,\n 3,\n 4\n ],\n \"moo\": {\n \"cat\": \"meow\",\n \"dog\": \"woof\"\n },\n \"foo\": 1,\n \"bar\": 20\n}"
MAS, o que eu realmente quero é o Rails para produzir isso. Alguém tem alguma dica de por que não consigo fazer o gerador no Rails funcionar corretamente?
Obrigado!