class_docstr: Generate a table of Arrow compute functions.
  
  .. arrow-computefuncs::
      :kind: hash_aggregate
  
  The generated table will include function name,
  description and option class reference.
  
  The functions listed in the table can be restricted
  with the :kind: option.
code: def run(self):
      from docutils.statemachine import ViewList
      from docutils import nodes
      import pyarrow.compute as pc
  
      result = ViewList()
      function_kind = self.options.get("kind", None)
  
      result.append(".. csv-table::", "<computefuncs>")
      result.append("   :widths: 20, 60, 20", "<computefuncs>")
      result.append("   ", "<computefuncs>")
      for fname in pc.list_functions():
          func = pc.get_function(fname)
          option_class = ""
          if func._doc.options_class:
              option_class = f":class:`{func._doc.options_class}`"
          if not function_kind or func.kind == function_kind:
              result.append(
                  f'   "{fname}", "{func._doc.summary}", "{option_class}"',
                  "<computefuncs>",
              )
  
      node = nodes.section()
      node.document = self.state.document
      self.state.nested_parse(result, 0, node)
      return node.children
  
file_path: arrow/docs/source/conf.py
imports: import datetime
  import os
  import sys
  import warnings
  from unittest import mock
  from docutils.parsers.rst import Directive, directives
label_desc: Use image node_id 1 for calling the ComputeFunctionsTableDirective obj's underlying member method code with example usage: obj.run() and returns: node