module GoodPrint
Constants
- GP_INDENT
- VERSION
Public Class Methods
gp(io, object, level = 0, trailer = false, end_with_comma = false)
click to toggle source
# File lib/good_print.rb, line 19 def gp(io, object, level = 0, trailer = false, end_with_comma = false) case object when Hash io << gp_puts("{", level, trailer) object.each_pair.each_with_index do |(k, v), idx| io << gp_print("#{k.inspect} => ", level + 1) gp io, v, level + 1, true, idx < object.size - 1 end io << gp_puts("}", level, false, end_with_comma) when Enumerable if object.is_a?(Range) && object.begin.is_a?(Time) io << gp_puts("#{object.inspect}", level, trailer, end_with_comma) else prefix = if (defined? Set) && object.is_a?(Set) "<Set>" end io << gp_puts("#{prefix}[", level, trailer) object.each_with_index do |v, idx| gp io, v, level + 1, false, idx < object.size - 1 end io << gp_puts("]", level, false, end_with_comma) end else io << gp_puts("#{object.inspect}", level, trailer, end_with_comma) end nil end
gp_print(string, level, trailer = false, end_with_comma = false)
click to toggle source
# File lib/good_print.rb, line 13 def gp_print(string, level, trailer = false, end_with_comma = false) prefix = trailer ? "" : " " * GP_INDENT * level suffix = end_with_comma ? "," : "" "#{prefix}#{string}#{suffix}" end
gp_puts(string, level, trailer = false, end_with_comma = false)
click to toggle source
# File lib/good_print.rb, line 7 def gp_puts(string, level, trailer = false, end_with_comma = false) prefix = trailer ? "" : " " * GP_INDENT * level suffix = end_with_comma ? "," : "" "#{prefix}#{string}#{suffix}\n" end