ruby yaml psych

ruby - Documentación para Psych to_yaml options?



(2)

Cuando desee deshabilitar el ajuste de línea, use esta opción:

line_width: -1

Ruby 1.9.3 utiliza de forma predeterminada Psych para YAML. Si bien falta la documentación de ruby-doc , pude encontrar un documento externo que indicaba que la opción de indentation es compatible. Esto se confirmó en las pruebas:

irb(main):001:0> RUBY_VERSION #=> "1.9.3" irb(main):002:0> require ''yaml'' #=> true irb(main):003:0> [[[1]]].to_yaml #=> "---/n- - - 1/n" irb(main):009:0> [[[1]]].to_yaml indentation:9 #=> "---/n- - - 1/n"

Probablemente hay más opciones compatibles. Específicamente, quiero saber cómo cambiar el ancho de ajuste de línea o deshabilitarlo por completo.

¿Cuáles son las opciones disponibles?


En lo profundo de las entrañas de ruby-1.9.3-p125/ext/psych/emitter.c encontré tres opciones:

  • indentation - El nivel debe ser menor que 10 y mayor que 1.
  • line_width - Establece el ancho de línea preferido.
  • canonical : establece el estilo de salida en canónico o no (verdadero / falso).

¡Y funcionan!