# encoding: utf-8
# Object
class Object
# guard condition
#
# === Param
#
# * :condition - guard condition
#
# === Example
#
# guard return case
#
# def hoge(msg)
# guard(msg) {return "guard"}
# "not guard"
# end
#
# hoge true # => "guard"
# hoge false # => "not guard"
#
# guard fail case
#
# def hoge(msg)
# guard(msg) {fail ArgumentError, 'error!!'}
# "not guard"
# end
#
# hoge true # => raise ArgumentError. message = error!!
# hoge false # => "not guard"
def guard(condition)
yield if condition
end
# unless_guard condition
#
# === Param
#
# * :condition - guard condition
#
# === Example
#
# unless_guard return case
#
# def hoge(msg)
# unless_guard(msg) {return "unless_guard"}
# "not unless_guard"
# end
#
# hoge false # => "unless_guard"
# hoge true # => "not unless_guard"
#
# unless_guard fail case
#
# def hoge(msg)
# unless_guard(msg) {fail ArgumentError, 'error!!'}
# "not unless_guard"
# end
#
# hoge false # => raise ArgumentError. message = error!!
# hoge true # => "not unless_guard"
def unless_guard(condition)
yield unless condition
end
end