lib/kumogata/client.rb in kumogata-0.2.9 vs lib/kumogata/client.rb in kumogata-0.2.10
- old
+ new
@@ -27,11 +27,11 @@
def convert(path_or_url)
template = open_template(path_or_url)
if ruby_template?(path_or_url)
- JSON.pretty_generate(template)
+ colorize_json(JSON.pretty_generate(template))
else
devaluate_template(template).chomp
end
end
@@ -52,31 +52,31 @@
nil
end
def list(stack_name = nil)
stacks = describe_stacks(stack_name)
- JSON.pretty_generate(stacks)
+ colorize_json(JSON.pretty_generate(stacks))
end
def export(stack_name)
template = export_template(stack_name)
devaluate_template(template).chomp
end
def show_events(stack_name)
events = describe_events(stack_name)
- JSON.pretty_generate(events)
+ colorize_json(JSON.pretty_generate(events))
end
def show_outputs(stack_name)
outputs = describe_outputs(stack_name)
- JSON.pretty_generate(outputs)
+ colorize_json(JSON.pretty_generate(outputs))
end
def show_resources(stack_name)
resources = describe_resources(stack_name)
- JSON.pretty_generate(resources)
+ colorize_json(JSON.pretty_generate(resources))
end
def diff(path_or_url1, path_or_url2)
templates = [path_or_url1, path_or_url2].map do |path_or_url|
template = open_template(path_or_url)
@@ -407,14 +407,14 @@
def output_result(stack_name, outputs, summaries)
puts <<-EOS
Outputs:
-#{JSON.pretty_generate(outputs)}
+#{colorize_json(JSON.pretty_generate(outputs))}
Stack Resource Summaries:
-#{JSON.pretty_generate(summaries)}
+#{colorize_json(JSON.pretty_generate(summaries))}
(Save to `#{@options.result_log}`)
EOS
open(@options.result_log, 'wb') do |f|
@@ -428,7 +428,18 @@
def camelize(str)
str.to_s.split(/[-_]/).map {|i|
i[0, 1].upcase + i[1..-1].downcase
}.join
+ end
+
+ def colorize_json(str)
+ if $stdout.tty? and @options.color?
+ begin
+ return JsonColor.colorize(str)
+ rescue Racc::ParseError
+ end
+ end
+
+ return str
end
end