Class: Pvectl::Formatters::Json
- Defined in:
- lib/pvectl/formatters/json.rb
Overview
Formats data as JSON output.
Collections are rendered as JSON arrays. Single resources are rendered as JSON objects. Empty collections return “[]”. Nil values are rendered as JSON null.
Instance Method Summary collapse
-
#format(data, presenter, color_enabled: true, describe: false, **context) ⇒ String
Formats data as JSON output.
Instance Method Details
#format(data, presenter, color_enabled: true, describe: false, **context) ⇒ String
Formats data as JSON output.
32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/pvectl/formatters/json.rb', line 32 def format(data, presenter, color_enabled: true, describe: false, **context) if describe && !collection?(data) # Use to_description for describe mode JSON.pretty_generate(presenter.to_description(data)) elsif collection?(data) hashes = data.map { |model| presenter.to_hash(model) } JSON.pretty_generate(hashes) else JSON.pretty_generate(presenter.to_hash(data)) end end |