Method: Enumerable::Recursor#method_missing
- Defined in:
- lib/core/facets/enumerable/recursively.rb
#method_missing(op, &yld) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/core/facets/enumerable/recursively.rb', line 26 def method_missing(op, &yld) rec = @block || lambda{ |v| v } yld = yld || lambda{ |v| v } # ? to_enum @enum.__send__(op) do |v| case v when String # b/c of 1.8 yld.call(v) when *@types res = v.recursively(*@types, &@block).__send__(op,&yld) rec.call(res) else yld.call(v) end end end |