Guest User

Untitled

a guest
Jul 20th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.47 KB | None | 0 0
  1. class LoggerClass
  2. def self.attr_logger(attribute_name)
  3. iv_name = "@#{attribute_name}"
  4. define_method(attribute_name) do
  5. instance_variable_get(iv_name)
  6. end
  7. define_method("#{attribute_name}=") do |value|
  8. STDERR.puts "setting #{attribute_name} to #{value}"
  9. instance_variable_set(iv_name, value)
  10. end
  11. end
  12. end
  13.  
  14. class Person < LoggerClass
  15. attr_logger :age
  16. attr_logger :name
  17. end
  18.  
  19. chad = Person.new
  20. chad.age = 321
  21. puts chad.age
  22. puts chad.name
Add Comment
Please, Sign In to add comment