# File lib/core/facets/kernel/blank.rb, line 44 def blank? true end
# File lib/core/facets/object/dup.rb, line 34 def clone? ; false ; end
Since NilClass is immutable it cannot be
duplicated. For this reason Object#try_dup returns
self
.
nil.dup! #=> nil
# File lib/core/facets/object/dup.rb, line 32 def dup! ; self ; end
# File lib/core/facets/object/dup.rb, line 33 def dup? ; false ; end
Compliments Kernel#ergo.
"a".ergo{ |o| o.upcase } #=> "A" nil.ergo{ |o| o.bar } #=> nil
CREDIT: Daniel DeLorme
# File lib/core/facets/kernel/ergo.rb, line 37 def ergo @_ergo ||= Functor.new{ nil } @_ergo unless block_given? end
# File lib/core/facets/boolean.rb, line 51 def to_bool false end
Allows nil
to respond to #to_f. Always returns
0
.
nil.to_f #=> 0.0
CREDIT: Matz
# File lib/core/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/core/facets/to_hash.rb, line 268 def to_h; {}; end
Create an empty OpenStruct object.
# File lib/standard/facets/ostruct.rb, line 205 def to_ostruct OpenStruct.new end
Provide platform dependent null path.
CREDIT Daniel Burger
# File lib/standard/facets/pathname.rb, line 236 def to_path Pathname.null end
See Kernel#try.
# File lib/core/facets/kernel/try.rb, line 49 def try(method=nil, *args) if method nil else Functor.new{ nil } end end