wicked

February 1, 2009 ยท View on GitHub

Wicked Good extensions to Object in the vein of #andand --

First, a couple of aliases for #andand:

Object#et

if phone = user.et.number call(phone) end

"Et" is Latin for 'and'. This works the same as 'andand', so it is the same as this, but shorter :)

if user && (phone = user.number) call(phone) end

Object#is

user.destroy if user.is.revoked?

works the same as

user.destroy if user && user.revoked?

NOTE: be wary of using 'unless' with Object#is or Object#aint -- if the method doesn't exist on the receiver (user does not respond to revoked?), both #is and #aint return nil, which can be wicked bad if you don't grok your logic.

Object#aint

user.revoke! if user.aint.revoked?

works the same as

user.revoke! if user && !user.revoked?

For those who aint from the northeast and say 'ant' when they mean their 'aunt', Object#aint is also aliased as:

#is_not #isnt #notnot

ONE MORE NOTE: #is and #aint are intended for safely checking boolean methods. Other uses are expressly not covered under any warranty ;)

COPYRIGHT

Copyright (c) 2009 Jacob Stetser. See LICENSE for details.