module QuiversTaskrunner::CliHelper

Public Class Methods

pretty_print(object, indent=0) click to toggle source
# 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