Module: Tnt

Defined in:
lib/tnt.rb,
lib/tnt/version.rb

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.boom(super_class_or_message = StandardError) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/tnt.rb', line 5

def boom(super_class_or_message = StandardError)
  if super_class_or_message.is_a? Class
    Class.new super_class_or_message do
      define_method :initialize do |*args|
        if block_given?
          message = yield *args
          super message
        else
          super *args
        end
      end
    end
  else
    Class.new StandardError do
      define_method :initialize do |*args|
        super super_class_or_message
      end
    end
  end
end