diff options
Diffstat (limited to 'src/guff/api-docs-html-view.cr')
-rw-r--r-- | src/guff/api-docs-html-view.cr | 45 |
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 |