Search
 
SCRIPT & CODE EXAMPLE
 
CODE EXAMPLE FOR RUBY

safe navigation Operator in Ruby

Scenario
Imagine you have an account that has an owner and you want to get the owner’s address. If you want to be safe and not risk a nil error, you would write something like the following:

if account && account.owner && account.owner.address
...
end
This is really verbose and annoying to type. ActiveSupport includes the try method which has a similar behaviour (but with few key differences that will be discussed later):

if account.try(:owner).try(:address)
...
end
It accomplishes the same thing - it either returns the address or nil if some value along the chain is nil. The first example may also return false if, for example, the owner is set to false.
Source by mitrev.net #
 
PREVIOUS NEXT
Tagged: #safe #navigation #Operator #Ruby
ADD COMMENT
Topic
Name
5+1 =