class Aptible::CLI::Renderer::Json

Public Instance Methods

render(node) click to toggle source
# File lib/aptible/cli/renderer/json.rb, line 20
def render(node)
  JSON.pretty_generate(visit(node))
end
visit(node) click to toggle source
# File lib/aptible/cli/renderer/json.rb, line 5
def visit(node)
  case node
  when Formatter::Root
    visit(node.root)
  when Formatter::Object
    Hash[node.children.each_pair.map { |k, c| [k, visit(c)] }]
  when Formatter::List
    node.children.map { |c| visit(c) }
  when Formatter::Value
    node.value
  else
    raise "Unhandled node: #{node.inspect}"
  end
end