module Klimt::Commands::Rendering
Public Instance Methods
jq_installed?()
click to toggle source
# File lib/klimt/commands/rendering.rb, line 27 def jq_installed? !`command -v jq`.empty? end
render(obj, jq_options: nil, jq_filter: nil)
click to toggle source
# File lib/klimt/commands/rendering.rb, line 4 def render(obj, jq_options: nil, jq_filter: nil) if jq_installed? render_with_jq(obj, opts: jq_options, filter: jq_filter) else render_pretty(obj) end end
render_pretty(obj)
click to toggle source
# File lib/klimt/commands/rendering.rb, line 23 def render_pretty(obj) puts JSON.pretty_generate JSON.parse(obj) end
render_with_jq(obj, opts: nil, filter: nil)
click to toggle source
# File lib/klimt/commands/rendering.rb, line 12 def render_with_jq(obj, opts: nil, filter: nil) opts ||= '' opts << ' -C' if options[:color] filter ||= '.' IO.popen("jq #{opts} \"#{filter}\"", 'r+') do |p| p.write obj p.close_write puts p.read end end