Guest User

Untitled

a guest
Jul 16th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. require 'rubygems'
  2. require 'active_support/inflector'
  3.  
  4. module Model
  5. class Customer
  6. class << self
  7.  
  8. def create
  9. puts "Customer.create"
  10. end
  11.  
  12. module Browser
  13. def create
  14. puts "Customer::Browser.create"
  15. end
  16. end
  17.  
  18. module File
  19. def create
  20. puts "Customer::File.create"
  21. end
  22. end
  23.  
  24. end
  25. end
  26. end
  27.  
  28.  
  29. class Customer
  30. class << self
  31. def method_missing(name,*params,&block)
  32. puts "Proxy Object"
  33.  
  34. c = Class.new(Model::Customer)
  35.  
  36. c.instance_eval do
  37. extend const_get($context) rescue self
  38. end
  39.  
  40. c.send(name)
  41.  
  42. end
  43. end
  44. end
  45.  
  46. $context = "Browser"
  47. browser = Customer.create
  48. $context = "File"
  49. file = Customer.create
  50. $context = "SOAP"
  51. soap = Customer.create
Add Comment
Please, Sign In to add comment