Advertisement
Guest User

Untitled

a guest
Feb 8th, 2016
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.40 KB | None | 0 0
  1. module OrElse
  2. module ObjectImplementation
  3. def or_else(_)
  4. self
  5. end
  6. end
  7. module NilClassImplementation
  8. def or_else(val)
  9. val
  10. end
  11. end
  12. end
  13.  
  14. class Object
  15. include OrElse::ObjectImplementation
  16. end
  17.  
  18. class NilClass
  19. include OrElse::NilClassImplementation
  20. end
  21.  
  22. # Example
  23.  
  24. user_hash = {id: nil}
  25. user_hash[:id]&.or_else(1)
  26. # => 1
  27. user_hash[:id] = 2
  28. user_hash[:id]&.or_else(1)
  29. # => 2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement