summaryrefslogtreecommitdiff
path: root/uml/api.lua
diff options
context:
space:
mode:
authorFrancois Perrad <francois.perrad@gadz.org>2010-10-15 16:24:37 +0200
committerFrancois Perrad <francois.perrad@gadz.org>2010-10-15 16:24:37 +0200
commit2f0f999ed3a3a1dc1fe0d1ad5f06786a87574614 (patch)
treebe64d9db45939fb32640675d7644e75f78ea3eda /uml/api.lua
parentremove params level (diff)
downloadspore-specifications-2f0f999ed3a3a1dc1fe0d1ad5f06786a87574614.tar.gz
graphical representation (UML Class Diagram) of the Rx schema.
png <-- dot <-- lua-Coat
Diffstat (limited to 'uml/api.lua')
-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>' }
+