Class: NilClass

Inherits:
Object show all
Defined in:
activesupport/lib/active_support/json/encoding.rb,
activesupport/lib/active_support/core_ext/object/try.rb,
activesupport/lib/active_support/core_ext/object/blank.rb,
activesupport/lib/active_support/core_ext/object/to_param.rb,
activesupport/lib/active_support/core_ext/object/duplicable.rb

Instance Method Summary collapse

Instance Method Details

#as_json(options = nil) ⇒ Object

:nodoc:


189
190
191
# File 'activesupport/lib/active_support/json/encoding.rb', line 189

def as_json(options = nil) #:nodoc:
  self
end

#blank?Boolean

nil is blank:

nil.blank? # => true

Returns:

  • (Boolean)

46
47
48
# File 'activesupport/lib/active_support/core_ext/object/blank.rb', line 46

def blank?
  true
end

#duplicable?Boolean

nil is not duplicable:

nil.duplicable? # => false
nil.dup         # => TypeError: can't dup NilClass

Returns:

  • (Boolean)

34
35
36
# File 'activesupport/lib/active_support/core_ext/object/duplicable.rb', line 34

def duplicable?
  false
end

#encode_json(encoder) ⇒ Object

:nodoc:


193
194
195
# File 'activesupport/lib/active_support/json/encoding.rb', line 193

def encode_json(encoder) #:nodoc:
  'null'
end

#to_paramObject

Returns self.


10
11
12
# File 'activesupport/lib/active_support/core_ext/object/to_param.rb', line 10

def to_param
  self
end

#try(*args) ⇒ Object

Calling try on nil always returns nil. It becomes specially helpful when navigating through associations that may return nil.

nil.try(:name) # => nil

Without try

@person && !@person.children.blank? && @person.children.first.name

With try

@person.try(:children).try(:first).try(:name)

71
72
73
# File 'activesupport/lib/active_support/core_ext/object/try.rb', line 71

def try(*args)
  nil
end

#try!(*args) ⇒ Object


75
76
77
# File 'activesupport/lib/active_support/core_ext/object/try.rb', line 75

def try!(*args)
  nil
end