summaryrefslogtreecommitdiff
path: root/docs/ext
diff options
context:
space:
mode:
Diffstat (limited to 'docs/ext')
-rw-r--r--docs/ext/docstrings.py18
-rw-r--r--docs/ext/gl_tmpl.j25
2 files changed, 18 insertions, 5 deletions
diff --git a/docs/ext/docstrings.py b/docs/ext/docstrings.py
index b380b64..5e5f82f 100644
--- a/docs/ext/docstrings.py
+++ b/docs/ext/docstrings.py
@@ -45,9 +45,17 @@ class GitlabDocstring(GoogleDocstring):
def __init__(self, *args, **kwargs):
super(GitlabDocstring, self).__init__(*args, **kwargs)
- if hasattr(self._obj, 'obj_cls') and self._obj.obj_cls is not None:
- self._parsed_lines = self._build_doc('manager_tmpl.j2',
- cls=self._obj.obj_cls)
+ if getattr(self._obj, '__name__', None) == 'Gitlab':
+ mgrs = []
+ gl = self._obj('http://dummy', private_token='dummy')
+ for item in vars(gl).items():
+ if hasattr(item[1], 'obj_cls'):
+ mgrs.append(item)
+ self._parsed_lines.extend(self._build_doc('gl_tmpl.j2',
+ mgrs=sorted(mgrs)))
+ elif hasattr(self._obj, 'obj_cls') and self._obj.obj_cls is not None:
+ self._parsed_lines.extend(self._build_doc('manager_tmpl.j2',
+ cls=self._obj.obj_cls))
elif hasattr(self._obj, 'canUpdate') and self._obj.canUpdate:
- self._parsed_lines = self._build_doc('object_tmpl.j2',
- obj=self._obj)
+ self._parsed_lines.extend(self._build_doc('object_tmpl.j2',
+ obj=self._obj))
diff --git a/docs/ext/gl_tmpl.j2 b/docs/ext/gl_tmpl.j2
new file mode 100644
index 0000000..dbccbcc
--- /dev/null
+++ b/docs/ext/gl_tmpl.j2
@@ -0,0 +1,5 @@
+{% for attr, mgr in mgrs %}
+.. attribute:: {{ attr }}
+
+ {{ mgr.__class__ | classref() }} manager for {{ mgr.obj_cls | classref() }} objects.
+{% endfor %}