require 'pp' module Ykutils module DebugUtils class DebugMes def DebugMes.init( debug = false ) @@debug = debug @@buf = [] end def DebugMes.set_debug( debug ) @@debug = debug end def DebugMes.puts_x( mes ) @@buf ||= [] @@buf << mes # puts "#{@@buf.size} |#{mes}" end def DebugMes.get buf = @@buf # DebugMes.clear buf end def DebugMes.clear @@buf ||= [] @@buf.clear end end def clear_d DebugMes.clear end def puts_d(mes) DebugMes.puts_x( mes ) # puts mes end def get_d DebugMes.get end def puts_current_method d_puts (caller(1)[0].split)[-1] end def error_exit(n) puts "error(#{n})" pp caller(0) exit(n) end def debug_utils_init set_debug( false ) set_warn( 0 ) DebugMes.init( false ) end def set_debug( val ) @debugutils = val DebugMes.set_debug( val ) end def get_debug @debugutils end def set_warn( val ) @warn = val end def debug @debugutils end def d_exit( num ) exit( num ) if @debugutils end def d_puts( str ) puts(str) if @debugutils end def w1_puts( str ) unless @warn set_warn( 0 ) end puts(str) if @debugutils or @warn >= 1 end def w2_puts( str ) unless @warn set_warn( 0 ) end puts(str) if @debugutils or @warn >= 2 end def d_caller( num ) pp caller( 0 ) if @debugutils end def puts_no_empty( mes ) puts mes if mes != "" end def d_puts_no_empty( mes ) puts mes if mes != "" and @debugutils end def d_p( it ) p it if @debugutils end def d_pp( it ) if @debugutils pp "@debugutils=#{@debugutils}" pp caller(0) exit end pp it if @debugutils end end end