diff options
Diffstat (limited to 'src/guff/api-docs-html-view.cr')
-rw-r--r-- | src/guff/api-docs-html-view.cr | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/guff/api-docs-html-view.cr b/src/guff/api-docs-html-view.cr new file mode 100644 index 0000000..e3f1097 --- /dev/null +++ b/src/guff/api-docs-html-view.cr @@ -0,0 +1,30 @@ +require "html" +require "ecr/macros" +require "./html-page-view" +require "./api-methods" + +module Guff + class APIDocsHTMLView + TITLE = "Guff API Documentation" + + def self.run(context : HTTP::Server::Context) + page = HTMLPageView.new(TITLE, new.to_s) + context.response.content_type = page.content_type + context.response.puts page + end + + private def namespaces + APIMethods::API.keys.sort + end + + private def methods(namespace : String) + APIMethods::API[namespace].keys.sort + end + + def h(s : String) + HTML.escape(s || "") + end + + ECR.def_to_s("./src/guff/views/api-docs.ecr") + end +end |