Guest User

Untitled

a guest
May 27th, 2018
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. Clearly, there's something about singleton_method_added I don't
  2. understand. How can I set up callbacks for t4 and t5?
  3.  
  4.  
  5. ##### test code #####
  6.  
  7. #!/usr/bin/env ruby
  8.  
  9. class String
  10. def self.singleton_method_added(id)
  11. smn = id.id2name
  12. puts 'Adding singleton method ' + smn + " in class String."
  13. end
  14.  
  15. def self.method_added(id)
  16. imn = id.id2name
  17. puts 'Adding instance method ' + imn + " in class String."
  18. end
  19. end
  20.  
  21. a = 'aaa'
  22.  
  23. class String
  24. def self.t2c; puts '> t2c in String'; end # <- callback
  25. def t2i; puts '> t2i in String'; end # <- callback
  26. end
  27. String.t2c
  28. a.t2i
  29.  
  30. def String.t3; puts '> String.t3'; end # <- callback
  31. String.t3
  32.  
  33. def a.t4; puts '> a.t4'; end # <- no callback
  34. a.t4
  35.  
  36. class String
  37. b = 'bbb'
  38. def b.t5; puts '> b.t5 in String'; end # <- no callback
  39. b.t5
  40. end
  41.  
  42.  
  43.  
  44. ##### output #####
  45.  
  46. Adding singleton method singleton_method_added in class String.
  47. Adding singleton method method_added in class String.
  48. Adding singleton method t2c in class String.
  49. Adding instance method t2i in class String.
  50. > t2c in String
  51. > t2i in String
  52. Adding singleton method t3 in class String.
  53. > String.t3
  54. > a.t4
  55. > b.t5 in String
Add Comment
Please, Sign In to add comment