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