Class: NilClass

Inherits:
Object show all
Defined in:
lib/core/facets/boolean.rb,
lib/core/facets/to_hash.rb,
lib/core/facets/kernel/try.rb,
lib/core/facets/object/dup.rb,
lib/core/facets/kernel/ergo.rb,
lib/standard/facets/ostruct.rb,
lib/core/facets/kernel/blank.rb,
lib/standard/facets/pathname.rb,
lib/core/facets/nilclass/to_f.rb

Instance Method Summary collapse

Instance Method Details

#blank?Boolean

Returns:

  • (Boolean)


44
45
46
# File 'lib/core/facets/kernel/blank.rb', line 44

def blank?
  true
end

#clone?Boolean

Returns:

  • (Boolean)


34
# File 'lib/core/facets/object/dup.rb', line 34

def clone? ; false ; end

#dup!Object

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

nil.dup!  #=> nil


32
# File 'lib/core/facets/object/dup.rb', line 32

def dup!   ; self  ; end

#dup?Boolean

Returns:

  • (Boolean)


33
# File 'lib/core/facets/object/dup.rb', line 33

def dup?   ; false ; end

#ergoObject

Compliments Kernel#ergo.

"a".ergo{ |o| o.upcase } #=> "A"
nil.ergo{ |o| o.bar }    #=> nil

CREDIT: Daniel DeLorme



37
38
39
40
# File 'lib/core/facets/kernel/ergo.rb', line 37

def ergo
  @_ergo ||= Functor.new{ nil }
  @_ergo unless block_given?
end

#to_boolObject



51
52
53
# File 'lib/core/facets/boolean.rb', line 51

def to_bool
  false
end

#to_fObject

Allows nil to respond to #to_f. Always returns 0.

nil.to_f   #=> 0.0

CREDIT: Matz



12
# File 'lib/core/facets/nilclass/to_f.rb', line 12

def to_f; 0.0; end

#to_hObject

Allows nil to create an empty hash, similar to #to_a and #to_s.

nil.to_h    #=> {}

CREDIT: Trans



268
# File 'lib/core/facets/to_hash.rb', line 268

def to_h; {}; end

#to_ostructObject

Create an empty OpenStruct object.



205
206
207
# File 'lib/standard/facets/ostruct.rb', line 205

def to_ostruct
  OpenStruct.new
end

#to_pathObject

Provide platform dependent null path.

CREDIT Daniel Burger



236
237
238
# File 'lib/standard/facets/pathname.rb', line 236

def to_path
  Pathname.null
end

#try(method = nil, *args) ⇒ Object

See Kernel#try.



49
50
51
52
53
54
55
# File 'lib/core/facets/kernel/try.rb', line 49

def try(method=nil, *args)
  if method
    nil
  else
    Functor.new{ nil }
  end
end