!! TERROR !!
Terror allows you to define your errors/exceptions in a pretty run-of-the-mill style DSL.
Reasons Terror exists:
- Because defining errors as subclasses of StandardError looks ugly.
- Also, because I wanted to make a pseudo-useful DSL.
How to use Terror:
For times where all you need is a pretty name to raise.
exceptions :exceptionally, "exceptional"
If you need a little more control over your exceptions you can use a block.
The methods inside the block become camel-cased exceptions where the method name
is the exception name.
exceptions do
there_is_no_exception "You did wrong. There is no exception!"
end
The argument passed to the method is the message you want to use when you raise the exception.
For the example above you would do:
raise ThereIsNoException, ThereIsNoException.message
If you need even more control over your exceptions and want to add custom functionality you can
pass the method a block and insert whatever code you want available for the exception.
exceptions do
my_exception do
def handle_my_exception()
return "Check that out, I can add my own methods!"
end
end
end
And, of course, all of these can be done together in the same exceptions method if you need more,
or less, functionality for different exceptions.
Things I'd Like to Get Around to Doing:
- Making this a gem.
- Writing tests. (In progress)
That's all folks.