Named Proc <img src=“badge.fury.io/rb/named_proc.svg” /> <img src=“
” />
When working with a lot of procs, naming them might become handy. It makes identifying them later easier, which can be utilized by your code. For example, it enables improves the usefulness of multi_block, a gem that allows you to pass multiple procs to methods.
Setup
Add to Gemfile:
gem 'named_proc'
Named Procs
A named proc acts like a normal proc, but it has a name attribute. You create it by calling a method with the desired name on proc:
>> a = proc.even?{ |e| e.even? }
=> #<NamedProc:0x00000001ffc340@(irb):1>
>> a.name
=> :even?
>> a[42]
=> false
In the same way, you can create lambdas:
>> b = lambda.doubler{ |e| e * 2 }
=> #<NamedProc:0x000000020685e0@(irb):7 (lambda)>
>> b.name
=> :doubler
>> b[21]
=> 42
>> b.lambda?
=> true
MIT License
The original gist: gist.github.com/4b2f5fd0b45118e46d0f