Advertisement
Guest User

Untitled

a guest
Aug 24th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.63 KB | None | 0 0
  1. # code we don't own
  2. class User
  3. def initialize(first_name, last_name)
  4. @first_name, @last_name = first_name, last_name
  5. end
  6.  
  7. def full_name
  8. @first_name + " " + @last_name
  9. end
  10. end
  11.  
  12. # code we do own
  13. module FixUserFullName
  14. refine User do
  15. def full_name
  16. name = @first_name
  17. name += " #@last_name" if @last_name
  18. name
  19. end
  20. end
  21. end
  22.  
  23. class MyMailer
  24. using FixUserFullName
  25.  
  26. def send_invitation(user)
  27. "Welcome, #{user.full_name}"
  28. end
  29. end
  30.  
  31.  
  32. josh = User.new 'Josh', nil
  33. josh.full_name rescue $! # => #<TypeError: no implicit conversion of nil into String>
  34. MyMailer.new.send_invitation(josh) # => "Welcome, Josh"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement