Compliments Kernel#ergo.
"a".ergo{ |o| o.upcase } #=> "A" nil.ergo{ |o| o.bar } #=> nil
CREDIT: Daniel DeLorme
# File lib/facets/kernel/ergo.rb, line 37 def ergo @_ergo ||= Functor.new{ nil } @_ergo unless block_given? end
Allows nil to respond to to_f. Always returns 0.
nil.to_f #=> 0.0
CREDIT: Matz
# File lib/facets/nilclass/to_f.rb, line 12 def to_f; 0.0; end
Allows nil to create an empty hash, similar to to_a and to_s.
nil.to_h #=> {}
CREDIT: Trans
# File lib/facets/to_hash.rb, line 268 def to_h; {}; end
See Kernel#try.
# File lib/facets/kernel/try.rb, line 49 def try(method=nil, *args) if method nil else Functor.new{ nil } end end
Generated with the Darkfish Rdoc Generator 2.