Sha256: 1dab82598465a97d843823c60c29368456d623e9d917048e3e4b4d032b6181bc

Contents?: true

Size: 1.2 KB

Versions: 7

Compression:

Stored size: 1.2 KB

Contents

module CastOff::Util
  private

  @@debug_level = 0
  @@verbose_mode = false

  DEBUG_LEVEL_MAX = 2
  def self.set_debug_level(lv)
    raise(ArgumentError.new("debug level should be Integer")) unless lv.is_a?(Integer)
    raise(ArgumentError.new("debug level should be >= 0 && <= #{DEBUG_LEVEL_MAX}")) unless 0 <= lv && lv <= DEBUG_LEVEL_MAX
    @@debug_level = lv
  end

  def self.set_verbose_mode(b)
    @@verbose_mode = b
  end

  def dlog(message, level = 1)
    if level <= @@debug_level
      STDERR.puts(message)
    end
  end
  public(:dlog)

  def vlog(message)
    if @@verbose_mode || @@debug_level > 0
      STDERR.puts(message)
    end
  end
  public(:vlog)

  def bt_and_bye()
    STDERR.puts("-------------------- backtrace --------------------")
    begin
      raise
    rescue => e
      STDERR.puts(e.backtrace)
    end
    exit
  end

  def todo(message = nil)
    STDERR.puts("<<< TODO #{message} :#{caller[0]} >>>")
    bt_and_bye()
  end
  public(:todo)

  def bug(message = nil)
    STDERR.puts("<<< BUG #{message} :#{caller[0]} >>>")
    bt_and_bye()
  end
  public(:bug)

=begin
  def method_missing(name, *args, &block)
    STDERR.puts("No Method #{name}:#{caller[0]}")
    bt_and_bye()
  end
=end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
cast_off-0.4.1 lib/cast_off/util.rb
cast_off-0.4.0 lib/cast_off/util.rb
cast_off-0.3.7 lib/cast_off/util.rb
cast_off-0.3.6 lib/cast_off/util.rb
cast_off-0.3.5 lib/cast_off/util.rb
cast_off-0.3.4 lib/cast_off/util.rb
cast_off-0.3.2 lib/cast_off/util.rb