Sha256: e18a80bf884bf5ba6be916050f29b2b00ed4f5219ad3d9cc0d1d7889cdf21d9c
Contents?: true
Size: 1.26 KB
Versions: 1
Compression:
Stored size: 1.26 KB
Contents
module Bolt class Outputter class JSON < Bolt::Outputter def initialize(stream = $stdout) @items_open = false @object_open = false @preceding_item = false super(stream) end def print_head @stream.puts '{ "items": [' @preceding_item = false @items_open = true @object_open = true end def print_result(node, result) item = { name: node.uri, status: result.is_a?(Bolt::ErrorResult) ? 'failure' : 'success', result: result.to_result } @stream.puts ',' if @preceding_item @stream.puts item.to_json @preceding_item = true end def print_summary(results, elapsed_time) @stream.puts "],\n" @preceding_item = false @items_open = false @stream.puts format('"node_count": %d, "elapsed_time": %d }', results.size, elapsed_time) end def print_plan(result) @stream.puts result.to_json end def fatal_error(e) @stream.puts "],\n" if @items_open @stream.puts '"_error": ' if @object_open @stream.puts e.to_json @stream.puts '}' if @object_open end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
bolt-0.8.0 | lib/bolt/outputter/json.rb |