# File Hookable.rb, line 249 def hookable *args #:doc: args.each do |sym| @__hooks[sym] = Hookable::Chain.new(self.instance_method(sym)) remove_method sym self.class_eval %~ def #{sym} *args return self.class.call_chain(self, :#{sym}, *args) end ~ end end