module Swa::CLI::DataOutput

Public Instance Methods

output_format=(arg) click to toggle source
# File lib/swa/cli/data_output.rb, line 23
def output_format=(arg)
  arg = arg.upcase
  unless %w(JSON YAML).member?(arg)
    raise ArgumentError, "unrecognised data format: #{arg.inspect}"
  end
  @output_format = arg
end

Protected Instance Methods

display_data(data, jmespath_expression = nil) click to toggle source
# File lib/swa/cli/data_output.rb, line 44
def display_data(data, jmespath_expression = nil)
  unless jmespath_expression.nil?
    data = JMESPath.search(jmespath_expression, data)
  end
  puts format_data(data)
rescue JMESPath::Errors::SyntaxError => e
  signal_error("invalid JMESPath expression")
end
format_data(data) click to toggle source
# File lib/swa/cli/data_output.rb, line 33
def format_data(data)
  case output_format
  when "JSON"
    MultiJson.dump(data, :pretty => true)
  when "YAML"
    YAML.dump(data)
  else
    raise "bad output format: #{output_format}"
  end
end