# 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