    # File lib/termtter/rubytter_proxy.rb, line 25
        def method_missing(method, *args, &block)
          if @rubytter.respond_to?(method)
            result = nil
            begin
              modified_args = args
              hooks = self.class.get_hooks("pre_#{method}")
              hooks.each do |hook|
                modified_args = hook.call(*modified_args)
              end

              from = Time.now if Termtter::Client.logger.debug?
              Termtter::Client.logger.debug {
                "rubytter_proxy: #{method}(#{modified_args.inspect[1...-1]})"
              }
              result = call_rubytter_or_use_cache(method, *modified_args, &block)
              Termtter::Client.logger.debug {
                "rubytter_proxy: #{method}(#{modified_args.inspect[1...-1]}), " +
                "%.2fsec" % (Time.now - from)
              }

              self.class.call_hooks("post_#{method}", *args)
            rescue HookCanceled
            rescue TimeoutError => e
              Termtter::Client.logger.debug {
                "rubytter_proxy: #{method}(#{modified_args.inspect[1...-1]}) " +
                "#{e.message} #{'%.2fsec' % (Time.now - from)}"
              }
              raise e
            rescue => e
              Termtter::Client.logger.debug {
                "rubytter_proxy: #{method}(#{modified_args.inspect[1...-1]}) #{e.message}"
              }
              raise e
            end
            result
          else
            super
          end
        end