I don't know Ruby, but it kinda sounds like Ruby just calls first-class functions blocks.
Blocks are a syntactically special single argument to a method that can either be yielded to (a Ruby construct similar to a function call but which only applies to the block passed to the current method) or converted to a proc (but the latter only as part of the method definition, since they aren't first class and thus cannot be manipulated or referred to directly.)
Blocks are sort of like anonymous function literals that are not first class, one (but no more than one) of which may be attached to a function call.