Named Proc

When working with a lot of procs, naming them might become handy. It makes identifying them later easier. For an example that uses named procs, see the multi_block gem!

Currently supports CRuby only.

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: https://gist.github.com/4b2f5fd0b45118e46d0f