module Kernel

Public Instance Methods

raise!(*argz) click to toggle source
# File lib/angry_raise.rb, line 25
def raise!(*argz)
  if argz.size > 1
    s = AngryRaise::String.new(argz[1].to_s)
    argz[0].__level.times { !s }  if argz[0].is_a?(Exception)
    argz[1] = s.to_s
  elsif argz[0].is_a?(Exception)
    s = AngryRaise::String.new(argz[0].message)
    argz[0].__level.times { !s } if argz[0].__level
    argz[0].message.replace(s.to_s)
  else argz[0]
    argz[0] = argz[0].is_a?(AngryRaise::String) ? !argz[0] : AngryRaise::String.new(argz[0])
  end

  raise(*argz)
end