aboutsummaryrefslogtreecommitdiff
path: root/src/guff/api-docs-html-view.cr
diff options
context:
space:
mode:
Diffstat (limited to 'src/guff/api-docs-html-view.cr')
-rw-r--r--src/guff/api-docs-html-view.cr45
1 files changed, 44 insertions, 1 deletions
diff --git a/src/guff/api-docs-html-view.cr b/src/guff/api-docs-html-view.cr
index 83c28d0..5fdbd86 100644
--- a/src/guff/api-docs-html-view.cr
+++ b/src/guff/api-docs-html-view.cr
@@ -17,10 +17,53 @@ module Guff
APIMethods::API.keys.sort
end
- private def methods(namespace : String)
+ private def methods(
+ namespace : String
+ )
APIMethods::API[namespace].keys.sort
end
+ private def method_text(
+ namespace : String,
+ method : String
+ )
+ APIMethods::API[namespace][method][:text] as String
+ end
+
+ private def method_args(
+ namespace : String,
+ method : String
+ )
+ if method_has_args?(namespace, method)
+ args = APIMethods::API[namespace][method][:args] as \
+ Hash(String, Hash(Symbol, String|Symbol|Bool)) | Nil
+ args.keys.sort
+ else
+ [] of String
+ end
+ end
+
+ private def arg_text(
+ namespace : String,
+ method : String,
+ name : String
+ ) : String
+ if method_has_args?(namespace, method)
+ arg = APIMethods::API[namespace][method][:args][name] as\
+ Hash(Symbol, String|Symbol|Bool)
+ arg[:text] as String
+ else
+ ""
+ end
+ end
+
+ private def method_has_args?(
+ namespace : String,
+ method : String
+ )
+ APIMethods::API[namespace][method].has_key?(:args)
+ end
+
def h(s : String)
HTML.escape(s || "")
end