Advertisement
Guest User

Untitled

a guest
Jan 27th, 2015
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.47 KB | None | 0 0
  1. module Client
  2. class ClientException < Exception; end
  3.  
  4. class Entity
  5. def foo(bar)
  6. raise ClientException unless bar
  7.  
  8. "original #{bar}"
  9. end
  10. end
  11. end
  12.  
  13. module ImprovedClient
  14. class Entity < Client::Entity
  15. def foo(bar)
  16. return unless bar
  17.  
  18. original = super bar
  19. "decorated #{original}"
  20. rescue ClientException
  21. nil
  22. end
  23. end
  24. end
  25.  
  26. # usage
  27. entity = ImprovedClient::Entity.new
  28. entity.foo 'baz' # => "decorated original baz"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement