Safe access for nested key values in a Hash - dig method
If you are using Ruby 2.3.0
or above
Now instead of doing this:
result.try(:[], 'avatar').try(:[], 'model').try(:[], 'raw_attributes').try(:[], 'signup_state')
# or
result && result['avatar'] && result['avatar']['model'] && result['avatar']['model']['raw_attributes'] && result['avatar']['model']['raw_attributes']['signup_state']
Now you can easily do the same with dig
:
result.dig('avatar', 'model', 'raw_attributes', 'signup_state')