It's not self.call(:my_method) --- that's nuts.  It's my_method[param1, param2] which is aliased to my_method.call(param1, param2).  Ruby's syntax can be a crapfest (like Procs not being callable without [] instead of () for example), but this isn't an example.