Class: NilClass
- Defined in:
- lib/active_support/core_ext/object/try.rb,
lib/active_support/core_ext/object/json.rb,
lib/active_support/core_ext/object/blank.rb,
lib/active_support/core_ext/object/to_query.rb,
lib/active_support/core_ext/object/duplicable.rb
Instance Method Summary collapse
-
#as_json(options = nil) ⇒ Object
:nodoc:.
-
#blank? ⇒ true
nilis blank:. -
#duplicable? ⇒ Boolean
nilis not duplicable:. -
#to_param ⇒ Object
Returns
self. -
#try(*args) ⇒ Object
Calling
tryonnilalways returnsnil. - #try!(*args) ⇒ Object
Instance Method Details
#as_json(options = nil) ⇒ Object
:nodoc:
74 75 76 |
# File 'lib/active_support/core_ext/object/json.rb', line 74 def as_json( = nil) #:nodoc: self end |
#blank? ⇒ true
nil is blank:
nil.blank? # => true
54 55 56 |
# File 'lib/active_support/core_ext/object/blank.rb', line 54 def blank? true end |
#duplicable? ⇒ Boolean
nil is not duplicable:
nil.duplicable? # => false
nil.dup # => TypeError: can't dup NilClass
34 35 36 |
# File 'lib/active_support/core_ext/object/duplicable.rb', line 34 def duplicable? false end |
#to_param ⇒ Object
Returns self.
17 18 19 |
# File 'lib/active_support/core_ext/object/to_query.rb', line 17 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 'lib/active_support/core_ext/object/try.rb', line 71 def try(*args) nil end |
#try!(*args) ⇒ Object
75 76 77 |
# File 'lib/active_support/core_ext/object/try.rb', line 75 def try!(*args) nil end |