Class: Class
Instance Method Summary collapse
-
#publicize_methods ⇒ Object
Make all the methods public for a block.
Instance Method Details
#publicize_methods ⇒ Object
Make all the methods public for a block.
This is especially useful for unit testing a class’s private and protected methods
From blog.jayfields.com/2007/11/ruby-testing-private-methods.html
22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/sixarm_ruby_ramp/class.rb', line 22 def publicize_methods saved_private_instance_methods = self.private_instance_methods saved_protected_instance_methods = self.protected_instance_methods self.class_eval { public(*saved_private_instance_methods) public(*saved_protected_instance_methods) } yield self.class_eval { private(*saved_private_instance_methods) protected(*saved_protected_instance_methods) } end |