Module: QuiversTaskrunner::CliHelper

Defined in:
lib/quiverstaskrunner/helpers/clihelper.rb

Constant Summary collapse

@@cr =

carriage return

"\n"
@@indent_unit =
"    "

Class Method Summary collapse

Class Method Details

.pretty_print(object, indent = 0) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/quiverstaskrunner/helpers/clihelper.rb', line 6

def self.pretty_print(object, indent=0)
	indent_space = (1..indent).map { |x| @@indent_unit }.join('')
	next_indent_space = (1..(indent+1)).map { |x| @@indent_unit }.join('')
	if !object.nil?
		if (object.is_a?(Hash)) && (!object.empty?)
			open_bracket = "{"
			body = object.map { |k,v| "#{next_indent_space}\"#{k}\" => #{CliHelper.pretty_print(v, indent+1)}" }.join(",#{@@cr}")
			close_bracket = "#{indent_space}}"

			return [ open_bracket, body, close_bracket].join(@@cr)
		elsif (object.is_a?(Array)) && (!object.empty?)
			open_bracket = "["
			body = object.map { |v| "#{next_indent_space}#{CliHelper.pretty_print(v, indent+1)}" }.join(",#{@@cr}")
			close_bracket = "#{indent_space}]"

			return [ open_bracket, body, close_bracket].join(@@cr)
		else
			return "\"#{object}\""
		end
	else
		return "\"#{object}\""
	end
end