summaryrefslogtreecommitdiff
path: root/uml/api.lua
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--uml/api.lua29
1 files changed, 29 insertions, 0 deletions
diff --git a/uml/api.lua b/uml/api.lua
new file mode 100644
index 0000000..16f187a
--- /dev/null
+++ b/uml/api.lua
@@ -0,0 +1,29 @@
+
+require 'Coat'
+require 'Coat.Types'
+
+class 'Method'
+
+has._method = { is = 'ro', isa = 'string', required = true }
+has.path = { is = 'ro', isa = 'string', required = true }
+has.expected = { is = 'ro', isa = 'table<number>' }
+has.required = { is = 'ro', isa = 'table<string>' }
+has.optional = { is = 'ro', isa = 'table<string>' }
+has.base_url = { is = 'ro', isa = 'string' }
+has.description = { is = 'ro', isa = 'string' }
+has.authentication = { is = 'ro', isa = 'boolean' }
+has.format = { is = 'ro', isa = 'table<string>' }
+
+
+class 'API'
+
+has.name = { is = 'ro', isa = 'string', required = true }
+has.methods = { is = 'ro', isa = 'table<string,Method>', required = true }
+has.base_url = { is = 'ro', isa = 'string' }
+has.description = { is = 'ro', isa = 'string' }
+has.authentication = { is = 'ro', isa = 'boolean' }
+has.version = { is = 'ro', isa = 'string' }
+has.authority = { is = 'ro', isa = 'string' }
+has.format = { is = 'ro', isa = 'table<string>' }
+has.meta = { is = 'ro', isa = 'table<string,string>' }
+