Class NilClass
In: lib/facets/core/facets/nilclass/to_f.rb
lib/facets/core/facets/object/dup.rb
lib/facets/core/facets/kernel/try.rb
lib/facets/core/facets/kernel/ergo.rb
lib/facets/core/facets/kernel/blank.rb
lib/facets/core/facets/to_hash.rb
lib/facets/core/facets/boolean.rb
Parent: Object

Methods

blank?   clone?   dup!   dup?   ergo   to_bool   to_f   to_h   try  

Public Instance methods

[Source]

# File lib/facets/core/facets/kernel/blank.rb, line 44
  def blank?
    true
  end

[Source]

# File lib/facets/core/facets/object/dup.rb, line 34
  def clone? ; false ; end

Since NilClass is immutable it cannot be duplicated. For this reason try_dup returns self.

  nil.dup!  #=> nil

[Source]

# File lib/facets/core/facets/object/dup.rb, line 32
  def dup!   ; self  ; end

[Source]

# File lib/facets/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

[Source]

# File lib/facets/core/facets/kernel/ergo.rb, line 37
  def ergo
    @_ergo ||= Functor.new{ nil }
    @_ergo unless block_given?
  end

[Source]

# File lib/facets/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

[Source]

# File lib/facets/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

[Source]

# File lib/facets/core/facets/to_hash.rb, line 268
  def to_h; {}; end

See Kernel#try.

[Source]

# File lib/facets/core/facets/kernel/try.rb, line 49
  def try(method=nil, *args)
    if method
      nil
    else
      Functor.new{ nil }
    end
  end

[Validate]