Is there any built in way to require that a block be passed to a Ruby method? I realize I can just raise an exception if block_given? is false, but is there so
block_given?
Simply by using yield.
yield
If you include yield in a method, and a block is not given, it throws an error.
Put this in a file and run it:
def needs_block yield end needs_block
It will throw an error like this:
LocalJumpError: no block given from (irb):14:in `needs_block' from (irb):16